home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1994…tember: Reference Library / Dev.CD Sep 94.toast / Technical Documentation / C.S.M.P. Digests / csmp-digest-v3-043 / doubleCR.1 < prev   
Encoding:
Text File  |  1994-07-09  |  126.4 KB  |  3,256 lines

  1. C.S.M.P. Digest             Sat, 09 Jul 94       Volume 3 : Issue 43
  2.  
  3. Today's Topics:
  4.  
  5.         7.5 Floating Window (How To use?)
  6.         Can Mac's survive without AppleTalk?
  7.         CodeWarrior and CODE Resources
  8.         Fast full screen scrolling: impossible?
  9.         MacPerl- Redirecting STDIN & STDOUT
  10.         PowerPC floating point issue
  11.         Q: Thread Manager - How do I benefit?
  12.         prevent update when call TEDelete, TEInsert??
  13.  
  14.  
  15.  
  16. The Comp.Sys.Mac.Programmer Digest is moderated by Francois Pottier
  17. (pottier@clipper.ens.fr).
  18.  
  19. The digest is a collection of article threads from the internet newsgroup
  20. comp.sys.mac.programmer.  It is designed for people who read c.s.m.p. semi-
  21. regularly and want an archive of the discussions.  If you don't know what a
  22. newsgroup is, you probably don't have access to it.  Ask your systems
  23. administrator(s) for details.  If you don't have access to news, you may
  24. still be able to post messages to the group by using a mail server like
  25. anon.penet.fi (mail help@anon.penet.fi for more information).
  26.  
  27. Each issue of the digest contains one or more sets of articles (called
  28. threads), with each set corresponding to a 'discussion' of a particular
  29. subject.  The articles are not edited; all articles included in this digest
  30. are in their original posted form (as received by our news server at
  31. nef.ens.fr).  Article threads are not added to the digest until the last
  32. article added to the thread is at least two weeks old (this is to ensure that
  33. the thread is dead before adding it to the digest).  Article threads that
  34. consist of only one message are generally not included in the digest.
  35.  
  36. The digest is officially distributed by two means, by email and ftp.
  37.  
  38. If you want to receive the digest by mail, send email to listserv@ens.fr
  39. with no subject and one of the following commands as body:
  40.     help                        Sends you a summary of commands
  41.     subscribe csmp-digest Your Name    Adds you to the mailing list
  42.     signoff csmp-digest            Removes you from the list
  43. Once you have subscribed, you will automatically receive each new
  44. issue as it is created.
  45.  
  46. The official ftp info is //ftp.dartmouth.edu/pub/csmp-digest.
  47. Questions related to the ftp site should be directed to
  48. scott.silver@dartmouth.edu. Currently no previous volumes of the CSMP
  49. digest are available there.
  50.  
  51. Also, the digests are available to WAIS users.  To search back issues
  52. with WAIS, use comp.sys.mac.programmer.src. With Mosaic, use
  53. http://www.wais.com/wais-dbs/comp.sys.mac.programmer.html.
  54.  
  55.  
  56. -------------------------------------------------------
  57.  
  58. >From denboer@cc.umanitoba.ca (David Den Boer)
  59. Subject: 7.5 Floating Window (How To use?)
  60. Date: 22 Jun 1994 01:49:42 GMT
  61. Organization: The University of Manitoba
  62.  
  63. I have seen various discussions on the appearance of the 7.5 floater, but
  64. I don't care about that (although I find it quite attractive!)
  65. I want to know how to use it from my apps?!?!
  66. Is there a standard built in WDEF, or do I have to copy and paste it from
  67. some other resource?
  68.  
  69. How to unlock the funkiness of the window is a more appropriate title...
  70.  
  71. Thanks
  72. -- 
  73. David A. denBoer            University of Manitoba
  74. denboer@CC.UManitoba.CA            Computer Services -- User Services
  75.  
  76. +++++++++++++++++++++++++++
  77.  
  78. >From trygve@netcom.com (Trygve Isaacson)
  79. Date: Thu, 23 Jun 1994 03:30:39 GMT
  80. Organization: NETCOM On-line Communication Services (408 261-4700 guest)
  81.  
  82. The resource ID is 125. So when creating your window, specify a procID of 
  83. 125*16 + variants to use it. The variants I've discovered are:
  84. 4 - adds a zoom box
  85. 8 - puts the title bar on the left
  86. (12 for both)
  87.  
  88. Trygve Isaacson
  89. Wall Data Incorporated
  90.  
  91.  
  92. +++++++++++++++++++++++++++
  93.  
  94. >From tgaul@halcyon.com (Troy Gaul)
  95. Date: Wed, 22 Jun 1994 21:14:02 -0700
  96. Organization: Infinity Systems
  97.  
  98. In article <2u85bm$aik@canopus.cc.umanitoba.ca>, denboer@cc.umanitoba.ca
  99. (David Den Boer) wrote:
  100.  
  101. > I have seen various discussions on the appearance of the 7.5 floater, but
  102. > I don't care about that (although I find it quite attractive!)
  103. > I want to know how to use it from my apps?!?!
  104. > Is there a standard built in WDEF, or do I have to copy and paste it from
  105. > some other resource?
  106. > How to unlock the funkiness of the window is a more appropriate title...
  107.  
  108. First, make sure the user is running System 7.5.  It isn't available in
  109. eariler System versions -- Apple has said that they will release a
  110. 'compatibility' WDEF that you will be able to include in your App that will
  111. call through to the System floater WDEF if it is present (like the Movable
  112. Modal WDEF they released for compatibility with System 6).
  113.  
  114. Second, call NewWindow:
  115.  
  116.     wind = NewWindow(wStorage, &rBounds, title, visFlag, wDefProcID,
  117. behind,
  118.                      goAwayFlag, refCon);
  119.  
  120. For the wDefProcID, pass in:
  121.  
  122.     (125 * 16 + procID)
  123.  
  124. 125 is the ID of the WDEF resource in the System file, and this is the
  125. equation Apple describes to make the Window Manager use a custom WDEF.  The
  126. procID will modify the WDEF in the following way:
  127.  
  128.     Add      To Get
  129.     ---      ------
  130.  
  131.      1       A windoid that hilights and dims depending on HiliteWindow.
  132.              The default is for the titlebar to always show the pattern.
  133.              (The default is bad if a dialog will appear in front of the 
  134.              floater because then the floater should appear dimmed.)
  135.  
  136.      2       To get a grow box.
  137.  
  138.      4       To get a zoom box.
  139.  
  140.      8       For a titlebar down the left hand side.
  141.  
  142. They can be added together to get a combination of the effects.  Also, if
  143. you pass in a non-empty string in 'title', it will be displayed in Geneva 9
  144. plain (assuming the titlebar is across the top).
  145.  
  146.  
  147. Note that if you use a grow box, there is a problem where the grow box will
  148. show through any windows in your application that appear above it. 
  149. Appearantly, the new WDEF is not obeying the window's clipping region when
  150. drawing the grow box. 
  151.  
  152. Also, the grow box is one pixel narrower than the standard grow box, which
  153. means that a scroll bar will look strange when scaled to match it, and it
  154. doesn't dim then the rest of the windoid dims (when procID 1 is used).  
  155.  
  156. The titlebar flashes more than it needs to when being redrawn, and I have
  157. also heard that there are some problems with multiple monitors.
  158.  
  159. _troy
  160. //////// //////___Troy Gaul_________________________tgaul@halcyon.com__ //
  161.   //    //       Infinity Systems ; Redmond, Washington                //
  162.  //    //  //  "Insert witty quote here."                             //
  163. //    //////________________________________________________________ //
  164.  
  165. +++++++++++++++++++++++++++
  166.  
  167. >From peter.lewis@info.curtin.edu.au (Peter N Lewis)
  168. Date: Thu, 23 Jun 1994 15:35:07 +0800
  169. Organization: NCRPDA, Curtin University
  170.  
  171. In article <2u85bm$aik@canopus.cc.umanitoba.ca>, denboer@cc.umanitoba.ca
  172. (David Den Boer) wrote:
  173.  
  174. >I have seen various discussions on the appearance of the 7.5 floater, but
  175. >I don't care about that (although I find it quite attractive!)
  176. >I want to know how to use it from my apps?!?!
  177. >Is there a standard built in WDEF, or do I have to copy and paste it from
  178. >some other resource?
  179. >
  180. >How to unlock the funkiness of the window is a more appropriate title...
  181.  
  182. Use WDEF 125, ie proc id 125*16+x where x is between 0 and 15 depending on
  183. whether you want a left hand title bar, with or without close/zoom boxes.
  184.  
  185. wp:=NewWindow(nil,bounds,"'Hello',true,125*16,pointer(-1),true,0);
  186.  
  187. Enjoy,
  188.    Peter.
  189. _______________________________________________________________________
  190. Peter N Lewis <peter.lewis@info.curtin.edu.au>       Ph: +61 9 368 2055
  191.  
  192. ---------------------------
  193.  
  194. >From mxmora@unix.sri.com (Matt Mora)
  195. Subject: Can Mac's survive without AppleTalk?
  196. Date: 16 Jun 1994 11:56:40 -0700
  197. Organization: SRI International, Menlo Park, CA
  198.  
  199. They are about to re-do the networks around here, putting in 
  200. fiber and ethernet everywhere. They were saying that
  201. they would no longer support AppleTalk. Of course I went
  202. into a tizzy and started sending memo's everywhere to whom
  203. ever I thought was in charge (which at SRI could be anybody or nobody).
  204. They mention the AppleTalk support would only be supported in the 
  205. near future and that you could do appletalk on subnets.
  206.  
  207. Is Apple moving away from AppleTalk? They seem to be under the impression
  208. that Apple is going away from appletalk and are moving to something else.
  209. I was at the WWDC and I don't remember any thing mentioned like this.
  210.  
  211. So if I only have a MacTCP connection from my mac to the network
  212. will I still be able to print, File Share,  do PowerTalk stuff,
  213. connect to other programs running on other macs, use the new MovieTalk,
  214. network backup and other cool things?
  215.  
  216. What would happen if Appletalk wasn't supported on your net?
  217.  
  218. Maybe I'm blowing this thing out of proportion and other companies
  219. are doing the same things. Does this sound like a logical thing
  220. to do? Is this going to save money?
  221.  
  222.  
  223. Thanks
  224.  
  225. Xavier
  226.  
  227.  
  228.  
  229. -- 
  230. ___________________________________________________________
  231. Matthew Xavier Mora                       Matt_Mora@sri.com
  232. SRI International                       mxmora@unix.sri.com
  233. 333 Ravenswood Ave                    Menlo Park, CA. 94025
  234.  
  235. +++++++++++++++++++++++++++
  236.  
  237. >From stan@astro.ocis.temple.edu (Stan Horwitz)
  238. Date: 16 Jun 1994 20:19:57 GMT
  239. Organization: Temple University, Academic Computer Services
  240.  
  241. Matt Mora (mxmora@unix.sri.com) wrote:
  242. : They are about to re-do the networks around here, putting in 
  243. : fiber and ethernet everywhere. They were saying that
  244. : they would no longer support AppleTalk. Of course I went
  245. : into a tizzy and started sending memo's everywhere to whom
  246. : ever I thought was in charge (which at SRI could be anybody or nobody).
  247. : They mention the AppleTalk support would only be supported in the 
  248. : near future and that you could do appletalk on subnets.
  249.  
  250. Macs can survive without Appletalk just fine. The Mac I am using now is
  251. ethernetted and it works fine in general and its much faster than Appletalk.
  252. The only thing I hate about this setup is that when the network service you
  253. are using, or the network itself, goes down or slows up, it can make your
  254. Mac look like it hangs until things on the network normalize again. This
  255. may just be a quirk in the ethernet card (Asante) my Mac has in it though.
  256.  
  257. --
  258. My name is Stan Horwitz and my E-mail address is stan@astro.ocis.temple.edu
  259. My opinions are all mine. They do not reflect those of my employer.
  260.  
  261.  
  262. +++++++++++++++++++++++++++
  263.  
  264. >From Carl R. Osterwald <carl_osterwald@nrel.gov>
  265. Date: Thu, 16 Jun 1994 22:49:15 GMT
  266. Organization: National Renewable Energy Laboratory
  267.  
  268. In article <2tq798$s6t@unix.sri.com> Matt Mora, mxmora@unix.sri.com
  269. writes:
  270. >They are about to re-do the networks around here, putting in 
  271. >fiber and ethernet everywhere. They were saying that
  272. >they would no longer support AppleTalk. Of course I went
  273. >into a tizzy and started sending memo's everywhere to whom
  274. >ever I thought was in charge (which at SRI could be anybody or nobody).
  275. >They mention the AppleTalk support would only be supported in the 
  276. >near future and that you could do appletalk on subnets.
  277. >
  278. >Is Apple moving away from AppleTalk? They seem to be under the impression
  279. >that Apple is going away from appletalk and are moving to something else.
  280. >I was at the WWDC and I don't remember any thing mentioned like this.
  281.  
  282. It is very common to confuse to completely different terms -- AppleTalk
  283. and LocalTalk.  AppleTalk is a network protocol, and LocalTalk is a
  284. method of network wiring.  AppleTalk can operate over LocalTalk, Ethernet
  285. or through a modem using ARA, for example.  Modern Ethernet routers are
  286. multiprotocal, which means they know how to deliver packets for a variety
  287. of protocols, including AppleTalk.  I suspect that what your networking
  288. types meant was that they would no longer support LocalTalk wiring (or
  289. PhoneNet, for that matter) which runs at about 240 kbs.  I really don't
  290. see Apple sacking AppleTalk (the protocol).
  291.  
  292. +++++++++++++++++++++++++++
  293.  
  294. >From Sean McMains <mcmains@unt.edu>
  295. Date: 16 Jun 1994 22:02:06 GMT
  296. Organization: University of North Texas
  297.  
  298. In article <2tq798$s6t@unix.sri.com> Matt Mora, mxmora@unix.sri.com
  299. writes:
  300. >Is Apple moving away from AppleTalk? They seem to be under the impression
  301. >that Apple is going away from appletalk and are moving to something else.
  302. >I was at the WWDC and I don't remember any thing mentioned like this.
  303.  
  304. It looks like some folks are getting confused on the AppleTalk vs.
  305. LocalTalk distinction. Ready? Everyone together:
  306.  
  307. "AppleTalk is a protocol. LocalTalk is a transport." :-)
  308.  
  309. With that out of my system, your question would seem to indicated that
  310. the net boys at your place are planning not to route AppleTalk from
  311. subnet to subnet on an ethernet network. In the current networking
  312. incarnation, this would mean that all the network stuff that doesn't rely
  313. on MacTCP would not work.
  314.  
  315. Apple has something called Open Transport in the works which will allow
  316. use of other transports to provide various functionality in a modular
  317. form (sort of a souped up, network-studly communication toolbox kinda
  318. thing). I don't know how backward compatible it will be, but the
  319. presentation I saw made it clear that they would not be replacing
  320. AppleTalk. I would suggest you fight as hard as you can to keep Appletalk
  321. routing on your networks until we see what Open Transport will do (and
  322. how backward-compatible it is with existing software).
  323. ========================================================================
  324. Sean McMains              | P.O. Box 13495          | Phone:817.565.2039
  325. Macintosh Support         | Denton TX 76203         | Fax  :817.565.4060
  326. University of North Texas | EMail: mcmains@unt.edu  |
  327. WWW: http://gaia.nms.unt.edu/cchome/mcmains/mcmains.html
  328.  
  329. +++++++++++++++++++++++++++
  330.  
  331. >From mxmora@unix.sri.com (Matt Mora)
  332. Date: 16 Jun 1994 14:07:46 -0700
  333. Organization: SRI International, Menlo Park, CA
  334.  
  335. In article <2tqc5d$av@cronkite.ocis.temple.edu> stan@astro.ocis.temple.edu (Stan Horwitz) writes:
  336.  
  337. >Macs can survive without Appletalk just fine. The Mac I am using now is
  338. >ethernetted and it works fine in general and its much faster than Appletalk.
  339. >The only thing I hate about this setup is that when the network service you
  340. >are using, or the network itself, goes down or slows up, it can make your
  341. >Mac look like it hangs until things on the network normalize again. This
  342. >may just be a quirk in the ethernet card (Asante) my Mac has in it though.
  343.  
  344. I just want to make it clear I'm talking about AppleTalk not LocalTalk. 
  345. LocalTalk  is the Twisted Pair wiring that runs a 230kb. I'm talking
  346. about the AppleTalk protocol that runs on any network medium be it LocalTalk
  347. Ethernet or what ever.
  348.  
  349.  
  350. Xavier
  351.  
  352.  
  353.  
  354.  
  355.  
  356. -- 
  357. ___________________________________________________________
  358. Matthew Xavier Mora                       Matt_Mora@sri.com
  359. SRI International                       mxmora@unix.sri.com
  360. 333 Ravenswood Ave                    Menlo Park, CA. 94025
  361.  
  362. +++++++++++++++++++++++++++
  363.  
  364. >From aelman@cs.stanford.edu (Adam Elman)
  365. Date: Thu, 16 Jun 1994 16:38:31 -0800
  366. Organization: Residential Computing, Stanford University
  367.  
  368. In article <2tqc5d$av@cronkite.ocis.temple.edu>, stan@astro.ocis.temple.edu
  369. (Stan Horwitz) wrote:
  370.  
  371. > Matt Mora (mxmora@unix.sri.com) wrote:
  372. > : They are about to re-do the networks around here, putting in 
  373. > : fiber and ethernet everywhere. They were saying that
  374. > : they would no longer support AppleTalk. Of course I went
  375. > : into a tizzy and started sending memo's everywhere to whom
  376. > : ever I thought was in charge (which at SRI could be anybody or nobody).
  377. > : They mention the AppleTalk support would only be supported in the 
  378. > : near future and that you could do appletalk on subnets.
  379. > Macs can survive without Appletalk just fine. The Mac I am using now is
  380. > ethernetted and it works fine in general and its much faster than Appletalk.
  381. > The only thing I hate about this setup is that when the network service you
  382. > are using, or the network itself, goes down or slows up, it can make your
  383. > Mac look like it hangs until things on the network normalize again. This
  384. > may just be a quirk in the ethernet card (Asante) my Mac has in it though.
  385.  
  386. There is some confusion on this point: AppleTalk is the software protocol,
  387. which is critical to standard Mac networking (printing, AppleShare, the new
  388. PowerTalk stuff, etc.).  The standard Mac hardware network wiring protocol,
  389. which was originally named AppleTalk, was renamed LocalTalk.  Farallon
  390. markets a version of LocalTalk which runs over standard phone wire and is
  391. called PhoneNet; this has generally become much more common than Apple's
  392. original LocalTalk wiring.
  393.  
  394. AppleTalk runs just fine over Ethernet, fiber, whatever.  Apple is
  395. definitely moving away from LocalTalk -- all new Macs except for the lowest
  396. models have built-in Ethernet ports.  But Apple is certainly not moving
  397. away from the software protocol.
  398.  
  399. -- 
  400. Adam Elman             | WWW: http://rescomp.stanford.edu/~elmanad/
  401. aelman@cs.stanford.edu | Finger me or check out my Web page for PGP key!!!
  402. - ------------------------------------------------------------------------
  403. "Sometimes I lie awake at night and ask 'Why me?'  Then a voice answers
  404. 'Nothing personal, your name just happened to come up.'" -- Peanuts
  405.  
  406. +++++++++++++++++++++++++++
  407.  
  408. >From jwbaxter@olympus.net (John W. Baxter)
  409. Date: Thu, 16 Jun 1994 19:18:36 -0700
  410. Organization: Internet for the Olympic Peninsula
  411.  
  412. In article <2tq798$s6t@unix.sri.com>, mxmora@unix.sri.com (Matt Mora)
  413. wrote:
  414.  
  415. > They are about to re-do the networks around here, putting in 
  416. > fiber and ethernet everywhere. They were saying that
  417. > they would no longer support AppleTalk. Of course I went
  418. > into a tizzy and started sending memo's everywhere to whom
  419. > ever I thought was in charge (which at SRI could be anybody or nobody).
  420. > They mention the AppleTalk support would only be supported in the 
  421. > near future and that you could do appletalk on subnets.
  422. > Is Apple moving away from AppleTalk? They seem to be under the impression
  423. > that Apple is going away from appletalk and are moving to something else.
  424. > I was at the WWDC and I don't remember any thing mentioned like this.
  425.  
  426. Well, the new machines have EtherNet built in.  One could certainly read a
  427. long-term trend away from AppleTalk in that.  And it makes
  428. sense...AppleTalk was fine 10 years ago...it's slow now, and not really
  429. likely to get faster (it's stressing the serial connection as it is).
  430.  
  431. > What would happen if Appletalk wasn't supported on your net?
  432.  
  433. I'd plug in the EtherNet connection on my 8100, and buy an EtherNet card
  434. for my IIci.  I may anyhow.
  435.  
  436.  
  437. -- 
  438. John Baxter    Port Ludlow, WA, USA  [West shore, Puget Sound]
  439.    No hablo Intel.
  440.    jwbaxter@pt.olympus.net
  441.  
  442. +++++++++++++++++++++++++++
  443.  
  444. >From jonpugh@netcom.com (Jon Pugh)
  445. Date: Fri, 17 Jun 1994 11:13:22 GMT
  446. Organization: NETCOM On-line Communication Services (408 261-4700 guest)
  447.  
  448. Matt Mora (mxmora@unix.sri.com) wrote:
  449.  
  450. > Is Apple moving away from AppleTalk? They seem to be under the impression
  451. > that Apple is going away from appletalk and are moving to something else.
  452. > I was at the WWDC and I don't remember any thing mentioned like this.
  453.  
  454. Open Transport (remember them? You got a T shirt at the netter's
  455. dinner) is only intended to replace MacTCP and the software layers,
  456. not the actual AppleTalk protocol.
  457.  
  458. Definately put up a fight.  I know that network guys just hate AppleTalk's
  459. constant address pinging.  ;)  As Nixon always said, "<expletive deleted> 
  460. them."  Don't let them demote AppleTalk to a second class protocol.
  461.  
  462. Jon
  463.  
  464. +++++++++++++++++++++++++++
  465.  
  466. >From mxmora@unix.sri.com (Matt Mora)
  467. Date: 17 Jun 1994 11:45:44 -0700
  468. Organization: SRI International, Menlo Park, CA
  469.  
  470. In article <jonpughCrJGIA.B08@netcom.com> jonpugh@netcom.com (Jon Pugh) writes:
  471. >Matt Mora (mxmora@unix.sri.com) wrote:
  472. >
  473. >> Is Apple moving away from AppleTalk? They seem to be under the impression
  474. >> that Apple is going away from appletalk and are moving to something else.
  475. >> I was at the WWDC and I don't remember any thing mentioned like this.
  476. >
  477. >Open Transport (remember them? You got a T shirt at the netter's
  478. >dinner) is only intended to replace MacTCP and the software layers,
  479. >not the actual AppleTalk protocol.
  480.  
  481. Yes I remember the shirt. I was wearing it yesterday at the standards meeting
  482. when I stood up and officially protested. 
  483.  
  484.  
  485. >Definately put up a fight.  I know that network guys just hate AppleTalk's
  486. >constant address pinging.  ;)  As Nixon always said, "<expletive deleted> 
  487. >them."  Don't let them demote AppleTalk to a second class protocol.
  488.  
  489. Well I talked to our network guru (the actual engineer here that is resposible
  490. for the new net) and he said that they have to pass Appletalk if we are
  491. going to continue to have Macs here. What does he care its just another 
  492. protocol.  He also said that he could install one gatorbox to just broadcast 
  493. zone names if need be. 
  494.  
  495. As always management has its collective head up a dark orafice. :-)
  496.  
  497.  
  498.  
  499. Xavier
  500.  
  501.  
  502.  
  503. -- 
  504. ___________________________________________________________
  505. Matthew Xavier Mora                       Matt_Mora@sri.com
  506. SRI International                       mxmora@unix.sri.com
  507. 333 Ravenswood Ave                    Menlo Park, CA. 94025
  508.  
  509. +++++++++++++++++++++++++++
  510.  
  511. >From doc@miracle.farallon.com (eric doc kampman)
  512. Date: Fri, 17 Jun 1994 17:44:49 -0800
  513. Organization: farallon
  514.  
  515. In article <jonpughCrJGIA.B08@netcom.com>, jonpugh@netcom.com (Jon Pugh)
  516. wrote:
  517.  
  518. > Matt Mora (mxmora@unix.sri.com) wrote:
  519. > > Is Apple moving away from AppleTalk? They seem to be under the impression
  520. > > that Apple is going away from appletalk and are moving to something else.
  521. > > I was at the WWDC and I don't remember any thing mentioned like this.
  522. > Open Transport (remember them? You got a T shirt at the netter's
  523. > dinner) is only intended to replace MacTCP and the software layers,
  524. > not the actual AppleTalk protocol.
  525.  
  526. uh oh.  anybody know what this means for custom 'mdev's?  (alternate LAP
  527. layer interfaces for MacTCP).
  528.  
  529. -- 
  530. doc@miracle.farallon.com
  531. Farallon didn't write this, Farallon isn't responsible for its con-
  532. tents, besides, who's Farallon anyway?
  533. ******************************************************************
  534. Look for the thing you can't find/Seeing with eyes makes you blind
  535.               You know you're out of your mind 
  536.  
  537. +++++++++++++++++++++++++++
  538.  
  539. >From Bruce@hoult.actrix.gen.nz (Bruce Hoult)
  540. Date: Sun, 19 Jun 1994 01:46:44 +1200 (NZST)
  541. Organization: (none)
  542.  
  543. jwbaxter@olympus.net (John W. Baxter) writes:
  544. > > Is Apple moving away from AppleTalk? They seem to be under the impression
  545. > > that Apple is going away from appletalk and are moving to something else.
  546. > > I was at the WWDC and I don't remember any thing mentioned like this.
  547. > Well, the new machines have EtherNet built in.  One could certainly read a
  548. > long-term trend away from AppleTalk in that.  And it makes
  549. > sense...AppleTalk was fine 10 years ago...it's slow now, and not really
  550. > likely to get faster (it's stressing the serial connection as it is).
  551. > > 
  552. > > What would happen if Appletalk wasn't supported on your net?
  553. > I'd plug in the EtherNet connection on my 8100, and buy an EtherNet card
  554. > for my IIci.  I may anyhow.
  555.  
  556. Aaarrggghhhh!!!!
  557.  
  558. Those EtherNet connections *are* running AppleTalk (99% of them, anyway)
  559.  
  560. Matt was quite clearly talking about AppleTalk-the-protocol-stack, and not
  561. AppleTalk-the-low-speed-wiring-system.  Even if you didn't know that the
  562. wiring has been called LocalTalk for at least five years now, it was pretty
  563. clear that he was talking about TCP/IP vs AppleTalk and not EtherTalk vs
  564. LocalTalk.
  565.  
  566. -- Bruce
  567.  
  568. +++++++++++++++++++++++++++
  569.  
  570. >From ce_rupn@pavo.concordia.ca (RUPNIK, CHRISTOPHER E.)
  571. Date: Sat, 18 Jun 1994 16:20:00 GMT
  572. Organization: Concordia University
  573.  
  574. In article <2854835204@hoult.actrix.gen.nz>, Bruce@hoult.actrix.gen.nz (Bruce Hoult) writes...
  575. >jwbaxter@olympus.net (John W. Baxter) writes:
  576. >> > Is Apple moving away from AppleTalk? They seem to be under the impression
  577. >> > that Apple is going away from appletalk and are moving to something else.
  578. >> > I was at the WWDC and I don't remember any thing mentioned like this.
  579. >> 
  580. >> Well, the new machines have EtherNet built in.  One could certainly read a
  581. >> long-term trend away from AppleTalk in that.  And it makes
  582. >> sense...AppleTalk was fine 10 years ago...it's slow now, and not really
  583. >> likely to get faster (it's stressing the serial connection as it is).
  584. >> 
  585. >> > 
  586. >> > What would happen if Appletalk wasn't supported on your net?
  587. >> 
  588. >> I'd plug in the EtherNet connection on my 8100, and buy an EtherNet card
  589. >> for my IIci.  I may anyhow.
  590. >Aaarrggghhhh!!!!
  591. >Those EtherNet connections *are* running AppleTalk (99% of them, anyway)
  592. >Matt was quite clearly talking about AppleTalk-the-protocol-stack, and not
  593. >AppleTalk-the-low-speed-wiring-system.  Even if you didn't know that the
  594. >wiring has been called LocalTalk for at least five years now, it was pretty
  595. >clear that he was talking about TCP/IP vs AppleTalk and not EtherTalk vs
  596. >LocalTalk.
  597. >-- Bruce
  598.  
  599.  Yes, he is correct. It appears that mac people will never learn the 
  600.  appletalk/localtalk/ethertalk differences and what whey actually mean.
  601.  
  602.  As for Appletalk being "dead" the original poster is correct. Apple is
  603.  supposed to implement a completely rewritten new stack called Oxx something
  604.  
  605.  The reason for this is that the appletalk stack is not native powerpc, this
  606.  means that an appleshare server based on powermac is just not going give
  607.  a reasonable performance....
  608.  
  609.   Chris Rupnik
  610.   ce_rupn@pavo.concordia.ca
  611.  
  612.  
  613. +++++++++++++++++++++++++++
  614.  
  615. >From jep@unlinfo.unl.edu (Stephen Panarelli)
  616. Date: 19 Jun 1994 11:30:40 GMT
  617. Organization: University of Nebraska--Lincoln    
  618.  
  619. Carl R. Osterwald (carl_osterwald@nrel.gov) wrote:
  620. : In article <2tq798$s6t@unix.sri.com> Matt Mora, mxmora@unix.sri.com
  621. : writes:
  622. : >They are about to re-do the networks around here, putting in 
  623. : >fiber and ethernet everywhere. They were saying that
  624. : >they would no longer support AppleTalk. Of course I went
  625. : >into a tizzy and started sending memo's everywhere to whom
  626. : >ever I thought was in charge (which at SRI could be anybody or nobody).
  627. : >They mention the AppleTalk support would only be supported in the 
  628. : >near future and that you could do appletalk on subnets.
  629. : >
  630. : >Is Apple moving away from AppleTalk? They seem to be under the impression
  631. : >that Apple is going away from appletalk and are moving to something else.
  632. : >I was at the WWDC and I don't remember any thing mentioned like this.
  633.  
  634. : It is very common to confuse to completely different terms -- AppleTalk
  635. : and LocalTalk.  AppleTalk is a network protocol, and LocalTalk is a
  636. : method of network wiring.  AppleTalk can operate over LocalTalk, Ethernet
  637.  
  638. Then there's LocalTalk Link Access Protocall....(:
  639.  
  640.  
  641. : or through a modem using ARA, for example.  Modern Ethernet routers are
  642. : multiprotocal, which means they know how to deliver packets for a variety
  643. : of protocols, including AppleTalk.  I suspect that what your networking
  644. : types meant was that they would no longer support LocalTalk wiring (or
  645. : PhoneNet, for that matter) which runs at about 240 kbs.  I really don't
  646. : see Apple sacking AppleTalk (the protocol).
  647.  
  648. steve.
  649. --
  650.     _/_/_/_/_/  _/      _/  _/_/_/_/   | Stephen Kemal Panarelli
  651.    _/          _/    _/    _/      _/  | University of Nebraska
  652.   _/_/_/_/_/  _/_/_/      _/_/_/_/     | Electrical Engineering
  653.          _/  _/    _/    _/            | jep@unlinfo.unl.edu
  654. _/_/_/_/_/  _/      _/  _/             | panzar@yoda.unl.edu
  655.  
  656. +++++++++++++++++++++++++++
  657.  
  658. >From ldo@waikato.ac.nz (Lawrence D'Oliveiro, Waikato University)
  659. Date: 20 Jun 94 17:15:51 +1200
  660. Organization: University of Waikato, Hamilton, New Zealand
  661.  
  662. In article <jonpughCrJGIA.B08@netcom.com>, jonpugh@netcom.com (Jon Pugh) writes:
  663. >
  664. > Definately put up a fight.  I know that network guys just hate AppleTalk's
  665. > constant address pinging.  ;)
  666.  
  667. That pinging is the sound of AppleTalk configuring itself, so you don't have
  668. to!
  669.  
  670. We have maybe 500 Macs on campus. Nearly every one is an AppleTalk
  671. node, and most of them are TCP/IP nodes as well. There are a roughly equal
  672. number of Intel-based machines, workstations and the like, which are also
  673. TCP/IP nodes. So the ratio of TCP/IP nodes to AppleTalk nodes is 2:1. What
  674. do you think the administration overhead is? More like 10:1 in terms of
  675. personnel, time spent on address housekeeping, sorting out configuration
  676. stuffups by stupid users, and general aggro.
  677.  
  678. AppleTalk still remains the world's easiest-to-use local area networking
  679. protocol. No contest.
  680.  
  681. Lawrence D'Oliveiro                       fone: +64-7-856-2889
  682. Info & Tech Services Division              fax: +64-7-838-4066
  683. University of Waikato            electric mail: ldo@waikato.ac.nz
  684. Hamilton, New Zealand    37^ 47' 26" S, 175^ 19' 7" E, GMT+12:00
  685. Where would we be without rhetorical questions?
  686.  
  687. +++++++++++++++++++++++++++
  688.  
  689. >From somogyi@ziff.com (Stephan Somogyi)
  690. Date: Mon, 20 Jun 1994 06:32:10 GMT
  691. Organization: Digital Media
  692.  
  693. In article <jonpughCrJGIA.B08@netcom.com>, jonpugh@netcom.com (Jon Pugh) wrote:
  694.  
  695. > Open Transport (remember them? You got a T shirt at the netter's dinner)
  696. > is only intended to replace MacTCP and the software layers, not the
  697. > actual AppleTalk protocol.
  698.  
  699. Nonono!
  700.  
  701. OpenTransport comes with brand new protocol stacks for both AppleTalk and
  702. TCP/IP.
  703.  
  704. OT has a compatibility mode that allows existing software using today's
  705. AppleTalk and MacTCP API's to function, but internally it's all new stuff.
  706. OT will also be the only native AppleTalk protocol stack.
  707.  
  708. Back to Matt's original question: even if they ban AppleTalk off the
  709. backbone, you can still use it locally; it just won't be propagated
  710. through the router that connects you to the rest of your organization.
  711. This isn't necessarily a fundamentally Bad Thing -- it depends on whether
  712. you use AppleTalk services that are on the far end of your backbone
  713. router.
  714.  
  715. ____________________________________________________________________________
  716. Stephan Somogyi             Vorsprung durch Technik            Digital Media
  717.  
  718. +++++++++++++++++++++++++++
  719.  
  720. >From somogyi@ziff.com (Stephan Somogyi)
  721. Date: Mon, 20 Jun 1994 06:33:31 GMT
  722. Organization: Digital Media
  723.  
  724. In article <doc-170694174449@163.176.12.68>, doc@miracle.farallon.com
  725. (eric doc kampman) wrote:
  726.  
  727. > uh oh.  anybody know what this means for custom 'mdev's?  (alternate LAP
  728. > layer interfaces for MacTCP).
  729.  
  730. Check out the OpenTransport docs on the WWDC CD. Methinks there should be
  731. some info in there on how such stuff is handled under OT.
  732.  
  733. ____________________________________________________________________________
  734. Stephan Somogyi             Vorsprung durch Technik            Digital Media
  735.  
  736. +++++++++++++++++++++++++++
  737.  
  738. >From poorman@convex.com (Peter W. Poorman)
  739. Date: 20 Jun 94 16:50:10 GMT
  740. Organization: CONVEX Computer Corporation, Richardson, TX USA
  741.  
  742. In <doc-170694174449@163.176.12.68> doc@miracle.farallon.com (eric doc kampman) writes:
  743.  
  744. >uh oh.  anybody know what this means for custom 'mdev's?  (alternate LAP
  745. >layer interfaces for MacTCP).
  746.  
  747. The docs I looked at said that custom mdevs would NOT be supported.  This
  748. may have changed -- it's been awhile.  The docs were ftp-able from
  749. seeding.apple.com.
  750.  
  751. -- Pete
  752.    poorman@convex.com
  753.  
  754. +++++++++++++++++++++++++++
  755.  
  756. >From gabe@shiva.com (Gabriel Lawrence)
  757. Date: Mon, 20 Jun 94 21:47:28 GMT
  758. Organization: Shiva Corporation
  759.  
  760. >>uh oh.  anybody know what this means for custom 'mdev's?  (alternate LAP
  761. >>layer interfaces for MacTCP).
  762. >
  763. >The docs I looked at said that custom mdevs would NOT be supported.  This
  764. >may have changed -- it's been awhile.  The docs were ftp-able from
  765. >seeding.apple.com.
  766.  
  767. As far as I can know, adevs, mdevs, and CommToolBox tools are all rendered
  768. obsolete by the Open Transport architecture.
  769.  
  770. Adevs and mdevs are both LAP layer protocol switching mechanisms which are
  771. redundant under Streams.  In general, Streams allows a lot more flexibility
  772. in constructing protocol stacks.  Rather than just switching among the
  773. bottom (LAP) layers, you can construct a complete custom stack that contains
  774. the protocol layers you need to use.  This design also allows you to run
  775. multiple protocol stacks simultaneously.
  776.  
  777. CTB tools are considered flawed because you cannot layer them.  Personally,
  778. I never much cared for the interfaces either.  Streams provides a standard
  779. way to layer modules so that you can customize your comm tools to your
  780. hearts content.
  781.  
  782. =Gabe=
  783.  
  784. - ----------------------
  785. Gabriel Lawrence                                               Shiva Corporation
  786. Software Tool               "All Disclaimers Apply"             gabe@shiva.com  
  787.  
  788. +++++++++++++++++++++++++++
  789.  
  790. >From quinn@cs.uwa.edu.au (Quinn "The Eskimo!")
  791. Date: Tue, 21 Jun 1994 16:11:01 +0800
  792. Organization: Department of Computer Science, The University of Western Australia
  793.  
  794. In article <1994Jun20.171551.29956@waikato.ac.nz>, ldo@waikato.ac.nz
  795. (Lawrence D'Oliveiro, Waikato University) wrote:
  796.  
  797. >AppleTalk still remains the world's easiest-to-use local area networking
  798. >protocol. No contest.
  799.  
  800. Definitely.  Until you want to change zones names of course ):
  801. -- 
  802. Quinn "The Eskimo!"      <quinn@cs.uwa.edu.au>     "Support HAVOC!"
  803. Department of Computer Science, The University of Western Australia
  804.   Who's changed zone names twice in the past year and is getting
  805.   very bitter and twisted about it.
  806.  
  807. +++++++++++++++++++++++++++
  808.  
  809. >From garryh@seeding.apple.com (Garry Hornbuckle)
  810. Date: 21 Jun 1994 16:17:55 GMT
  811. Organization: Apple Computer
  812.  
  813. > In article <doc-170694174449@163.176.12.68>, doc@miracle.farallon.com
  814. > (eric doc kampman) wrote:
  815. > > uh oh.  anybody know what this means for custom 'mdev's?  (alternate LAP
  816. > > layer interfaces for MacTCP).
  817.  
  818. 1 - AppleTalk is not going away or dying. Apple still feels that AppleTalk
  819. is important and useful. 
  820.  
  821. 2 - We are making a conscious effort at bringing our support of other
  822. protocols, especially TCP/IP, a more visibile and 'expected' thing. Such as
  823. moving MacTCP into system software. I'd like people to begin to think of
  824. the Macintosh as not just the machine with 'built-in networking', but the
  825. machine with 'multiprotocol built-in networking'
  826.  
  827. 3 - Down with protocol prejudice of all kinds. AppleTalk, TCP/IP, etc. each
  828. have their strengths and weaknesses. Perhaps even more importantly, they
  829. were designed with different goals and different environments in mind. One
  830. size does not fit all.
  831.  
  832. 4 - Open Transport is designed to make it easier to write one application
  833. that can use the protocol of choice (AppleTalk, TCP, IPX, etc.) without
  834. having to make changes to the program source code to change protocols. It
  835. does this by providing a common set of APIs, and by offering a very fast
  836. dynamic linking and loading mechanism. An application that is written to
  837. the new APIs can then "make up its mind" about the protocol it wants at run
  838. time.
  839.  
  840. 5 - Open Transport will offer outstanding backward compatibility for those
  841. developers that write to the AppleTalk and MacTCP parameter block APIs, and
  842. for those developers who write 'adevs', who write to .enet, .tokn, etc. and
  843. who write to the LAPManager. 
  844.  
  845. 6 - mdev backward compatibility is still under review. We'd like to figure
  846. this out, but there are some hard problems. I have a list of the 'top 10'
  847. (like the SLIP and PPP mdevs). But if there are other mdevs out there, it
  848. would be helpful  if you'd send me an email letting me know about you mdev
  849. and your backward compatibility needs and desires....
  850.  
  851. 7 - As Stephan said, more info is available on Open Trnasport by anonymous
  852. ftp to 'seeding.apple.com.
  853.  
  854. - ---------------------------------------------------------------------
  855. Garry Hornbuckle        Product Manager, Communications & Collaboration
  856. - ---------------------------------------------------------------------
  857. "If I told you that I   | email      garryh@seeding.apple.com
  858.  spoke only for myself  | applelink  HORNBUCKLE1
  859.  would you believe me?" | fax        (408) 974-1211
  860. - ---------------------------------------------------------------------
  861.  
  862. +++++++++++++++++++++++++++
  863.  
  864. >From gabe@shiva.com (Gabriel Lawrence)
  865. Date: Wed, 22 Jun 94 04:42:11 GMT
  866. Organization: Shiva Corporation
  867.  
  868. >>AppleTalk still remains the world's easiest-to-use local area networking
  869. >>protocol. No contest.
  870. >
  871. >Definitely.  Until you want to change zones names of course ):
  872.  
  873. I would agree.  Unfortunately, the biggest advantage to using AppleTalk (its
  874. dynamic configurability) is also it's biggest drawback.  The "user
  875. friendliness" of AppleTalk prevents it from scaling well.  Intelligent
  876. routers that "learn" things like zone names are great - until your network
  877. becomes very large and you want to change zone names or network numbers. 
  878. Then you have to go through a tedious process of shutting down routers,
  879. restarting seed routers, etc...  It's certainly no picnic.
  880.  
  881. Emerging AppleTalk standards like AURP help to alleviate some of these
  882. difficulties but they all work by imposing some sort of static network
  883. mapping on interconnected networks.  That of course means that these are
  884. typically not "plug and play" solutions.  Oh well.
  885.  
  886. =Gabe=
  887.  
  888.  
  889. - ----------------------------------------------------------------
  890. Gabriel Lawrence                                    gabe@shiva.com
  891.                             Software Tool                                       
  892.                           Shiva Corporation
  893.  
  894. ---------------------------
  895.  
  896. >From Peter Vanags <peterv@uclink.berkeley.edu>
  897. Subject: CodeWarrior and CODE Resources
  898. Date: 23 Jun 1994 01:41:23 GMT
  899. Organization: UCB
  900.  
  901. >From reading all the raves about CodeWarrior here, I have no doubt that
  902. it's the environment of choice for applications development. But what
  903. about stand-alone CODE resource development?
  904.  
  905. Symantec's environment doesn't really give me all of what I need. Their
  906. C++ compiler doesn't support virtual functions in CODE resources, which
  907. dramatically cripples the object design. I can use C with Object
  908. Extensions to get virtual functions, but then I lose lots of desireable
  909. C++ features, like templates, constructor arguments, multiple
  910. inheritance, passing by reference, and so on. But I do get inline
  911. assembler in switching back to C. The A4-based globals in Symantec's
  912. environment are a great feature.
  913.  
  914. Does CodeWarrior support A4 globals like Symantec? How about inline (not
  915. function-call) assembler in C++? (Very important due to strange calling
  916. conventions of some CODE resources.) Custom CODE resource headers? (This
  917. would probably require inline assembler.) Virtual functions? The lack of
  918. templates in CW is a bummer, since I use a lot of container classes. If
  919. CW had all these features, I'd switch in a minute.
  920.  
  921. As I understand it, the only missing thing is the inline assembler. I
  922. assume it's because CW supports 68K/PPC development simultaneously. Will
  923. some clever CW feature make this possible soon? Would I have to write
  924. companion PPC assembler to the 68K stuff, and use pragmas to make sure
  925. the right version is compiled to each?
  926.  
  927. Also, how easy is it to compile these hybrid PPC/68K CODE resources in
  928. CW? I haven't delved into the PPC code fragment business yet, but to
  929. judge from the number of pages written about it in the develop article,
  930. it's not simple. What tools does CW provide to aid this process?
  931.  
  932. Peter
  933.  
  934. +++++++++++++++++++++++++++
  935.  
  936. >From Jens Miltner <jmiltner@theorie3.physik.uni-erlangen.de>
  937. Date: 24 Jun 1994 23:49:38 GMT
  938. Organization: Pole Position Software
  939.  
  940. In article <2uap83$ghe@agate.berkeley.edu> Peter Vanags,
  941. peterv@uclink.berkeley.edu writes:
  942. >From reading all the raves about CodeWarrior here, I have no doubt that
  943. >it's the environment of choice for applications development. But what
  944. >about stand-alone CODE resource development?
  945. >
  946. >Symantec's environment doesn't really give me all of what I need. Their
  947. >C++ compiler doesn't support virtual functions in CODE resources, which
  948. >dramatically cripples the object design. I can use C with Object
  949. >Extensions to get virtual functions, but then I lose lots of desireable
  950. >C++ features, like templates, constructor arguments, multiple
  951. >inheritance, passing by reference, and so on. But I do get inline
  952. >assembler in switching back to C. The A4-based globals in Symantec's
  953. >environment are a great feature.
  954.  
  955. I guess the problem with virtual functions in CODE resources is that 
  956. someone has to set up the virtual jump tables (which is usually done
  957. by the initialization code in an app - but there aint no such thing
  958. in a code resource...)
  959.  
  960. >Does CodeWarrior support A4 globals like Symantec? How about inline (not
  961. >function-call) assembler in C++? (Very important due to strange calling
  962. >conventions of some CODE resources.) Custom CODE resource headers? (This
  963. >would probably require inline assembler.) Virtual functions? The lack of
  964. >templates in CW is a bummer, since I use a lot of container classes. If
  965. >CW had all these features, I'd switch in a minute.
  966.  
  967. Yes, they do support A4 globals as well as some sort of inline assembly.
  968. The only drawback I found is that the inline assembler only works at 
  969. function level, i.e. you have to define a complete function as being
  970. inline assembler.
  971. Also, there is no way to generate CODE resources with a custom header.
  972. Each CODE resource will have a standard header (as proposed by Apple,
  973. I think). However, this means you can't write things like an RDEV, since
  974. they need some different header...
  975.  
  976. >As I understand it, the only missing thing is the inline assembler. I
  977. >assume it's because CW supports 68K/PPC development simultaneously. Will
  978. >some clever CW feature make this possible soon? Would I have to write
  979. >companion PPC assembler to the 68K stuff, and use pragmas to make sure
  980. >the right version is compiled to each?
  981.  
  982. Actually, there is little or no need to use assembler with the PowerPC,
  983. since for PPC, a C-Interface exists for all known/important functions
  984. and callbacks - even for those that used to need assembly routines.
  985.  
  986. >Also, how easy is it to compile these hybrid PPC/68K CODE resources in
  987. >CW? I haven't delved into the PPC code fragment business yet, but to
  988. >judge from the number of pages written about it in the develop article,
  989. >it's not simple. What tools does CW provide to aid this process?
  990.  
  991. What do you mean by 'hybrid CODE resources'? If you talk about e.g.
  992. fat binaries, there is no direct support yet. There is however an
  993. easy way to build native CODE resources with MW.
  994. Calling either CODE res type from either architecture is actually
  995. not really difficult. I guess there are samples out there that show
  996. how to use MixedMode and the CodeFragmentManager... If you've got
  997. it right once, it's peanuts the next time ;-)
  998.  
  999. -- Jens
  1000.  
  1001. ---------------------------
  1002.  
  1003. >From y-tony@bu.edu (Yan Lee)
  1004. Subject: Fast full screen scrolling: impossible?
  1005. Date: 8 Jun 1994 20:59:27 GMT
  1006. Organization: Boston University
  1007.  
  1008. Hello,
  1009.  
  1010.     I have been reading a bit about animation and the Mac.  I have 
  1011. read that full screen scrolling is almost impossible to do well on the 
  1012. Mac.  I do understand that game machines have chips that specialize in 
  1013. such activities.  Howver, is it still not possible for the Mac to do it?  
  1014. Did C64 and PCs have special chips/functions that helped them to do rapid
  1015. full-screen scrolling?  I would like to try to do rapid full-screen 
  1016. scroilling on the Mac , but I am wondering if this ambition is a waste of 
  1017. time.  I need opinions please!
  1018.  
  1019. Tony
  1020.  
  1021.  
  1022. +++++++++++++++++++++++++++
  1023.  
  1024. >From d88-jwa@dront.nada.kth.se (Jon Wdtte)
  1025. Date: 9 Jun 1994 10:13:06 GMT
  1026. Organization: The Royal Institute of Technology
  1027.  
  1028. In <2t5bff$fnp@news.bu.edu> y-tony@bu.edu (Yan Lee) writes:
  1029.  
  1030. >Hello,
  1031.  
  1032. >    I have been reading a bit about animation and the Mac.  I have 
  1033. >read that full screen scrolling is almost impossible to do well on the 
  1034. >Mac.  I do understand that game machines have chips that specialize in 
  1035. >such activities.  Howver, is it still not possible for the Mac to do it?  
  1036. >Did C64 and PCs have special chips/functions that helped them to do rapid
  1037. >full-screen scrolling?  I would like to try to do rapid full-screen 
  1038.  
  1039. No; the PC instead has an "inferior" video mode with large pixels
  1040. which makes the amount of data to move smaller. The smallest Mac color
  1041. screen is 512x384 pixels, and most are 640x480 or larger (13" or more)
  1042. The PC screens are 320x200 pixels, so you have only 1/4 as many pixels
  1043. to move. On the other hand, Mac graphics are much less blocky.
  1044.  
  1045. On the PowerPC, scrolling 640x400 or so is quite doable; put interesting
  1046. borders around it if you want even better FPS (smaller area)
  1047.  
  1048. Cheers,
  1049.  
  1050.                     / h+
  1051.                     Jon W{tte
  1052. -- 
  1053.  -- Jon W{tte, h+@nada.kth.se, Mac Software Engineer Deluxe --
  1054.  
  1055.   I offer a pot of gold for Gates' head on a pole.
  1056.   Naah - bashing Microsoft is "out." Love, Peace and Understanding!
  1057.  
  1058. +++++++++++++++++++++++++++
  1059.  
  1060. >From fixer@faxcsl.dcrt.nih.gov (Chris Gonna' Find Ray Charles Tate)
  1061. Date: Thu, 9 Jun 1994 12:33:48 GMT
  1062. Organization: DCRT, NIH, Bethesda, MD
  1063.  
  1064. In article <2t5bff$fnp@news.bu.edu>, y-tony@bu.edu (Yan Lee) writes:
  1065. >
  1066. >    I have been reading a bit about animation and the Mac.  I have 
  1067. >read that full screen scrolling is almost impossible to do well on the 
  1068. >Mac.  I do understand that game machines have chips that specialize in 
  1069. >such activities.  Howver, is it still not possible for the Mac to do it?  
  1070. >Did C64 and PCs have special chips/functions that helped them to do rapid
  1071. >full-screen scrolling?  I would like to try to do rapid full-screen 
  1072. >scroilling on the Mac , but I am wondering if this ambition is a waste of 
  1073. >time.  I need opinions please!
  1074.  
  1075. The Commodore 64 had special hardware that allowed the programmer to
  1076. shift the screen, either horizontally or vertically or both (independantly),
  1077. in one-pixel increments, up to a delta of 8 pixels from 'normal.'  In
  1078. combination with 32x32 hardware sprites and funky text-based graphics
  1079. modes, this made relatively advanced graphics quite feasible even on
  1080. the old CBM 6510 chip that it used.
  1081.  
  1082. PC graphics cheat.  :-)  They use a low resolution graphics mode.  DOOM,
  1083. for example (the premier animated DOS game at present), draws the screen
  1084. at 320x200 pixels.  Note that the smallest Macintosh screen is 512x342,
  1085. which is more than twice as many pixels as 320x200.  A 640x400 screen
  1086. is four times as many, and the (fairly standard) 640x480 screen is even
  1087. more than that.
  1088.  
  1089. PowerMacs have the horsepower to scroll large portions of the screen
  1090. at once.
  1091.  
  1092. - --------------------------------------------------------------------------
  1093. Christopher Tate             |  "There are 0 grams of fat in Mountain Dew.
  1094. MSD, Inc.                    |    That means it's good for you, right?"
  1095. fixer@faxcsl.dcrt.nih.gov    |         - Mike Wellman, in c.s.m.p
  1096.  
  1097. +++++++++++++++++++++++++++
  1098.  
  1099. >From y-tony@bu.edu (Yan Lee)
  1100. Date: 9 Jun 1994 14:59:00 GMT
  1101. Organization: Boston University
  1102.  
  1103. Chris Gonna' Find Ray Charles Tate (fixer@faxcsl.dcrt.nih.gov) wrote:
  1104. : In article <2t5bff$fnp@news.bu.edu>, y-tony@bu.edu (Yan Lee) writes:
  1105. : >
  1106.  
  1107. : The Commodore 64 had special hardware that allowed the programmer to
  1108. : shift the screen, either horizontally or vertically or both (independantly),
  1109. : in one-pixel increments, up to a delta of 8 pixels from 'normal.'  In
  1110. : combination with 32x32 hardware sprites and funky text-based graphics
  1111. : modes, this made relatively advanced graphics quite feasible even on
  1112. : the old CBM 6510 chip that it used.
  1113.  
  1114. Oh yeah, I remember the shifting-screen stuff.  I used to do that to make 
  1115. the whole screen shake for earthquake effects :)
  1116.  
  1117.  
  1118. : PC graphics cheat.  :-)  They use a low resolution graphics mode.  DOOM,
  1119. : for example (the premier animated DOS game at present), draws the screen
  1120. : at 320x200 pixels.  Note that the smallest Macintosh screen is 512x342,
  1121. : which is more than twice as many pixels as 320x200.  A 640x400 screen
  1122. : is four times as many, and the (fairly standard) 640x480 screen is even
  1123. : more than that.
  1124.  
  1125. Is there a source code for the Mac for lowres modes?  It must be possible
  1126. since Pathways into darkness has that mode to double the speed.
  1127.  
  1128.  
  1129. : PowerMacs have the horsepower to scroll large portions of the screen
  1130. : at once.
  1131.  
  1132. Unfortunately I have no access or money for a PPC even though it is 
  1133. reasonably price.  Maybe next year....
  1134.  
  1135. : ----------------------------------------------------------------------------
  1136. : Christopher Tate             |  "There are 0 grams of fat in Mountain Dew.
  1137. : MSD, Inc.                    |    That means it's good for you, right?"
  1138. : fixer@faxcsl.dcrt.nih.gov    |         - Mike Wellman, in c.s.m.p
  1139.  
  1140.  
  1141. Thanks for all the responses.
  1142.  
  1143. +++++++++++++++++++++++++++
  1144.  
  1145. >From bericksn@ac.dal.ca
  1146. Date: 9 Jun 94 14:47:34 -0300
  1147. Organization: Dalhousie University, Halifax, Nova Scotia, Canada
  1148.  
  1149. In article <2t5bff$fnp@news.bu.edu>, y-tony@bu.edu (Yan Lee) writes:
  1150. > Hello,
  1151. >     I have been reading a bit about animation and the Mac.  I have 
  1152. > read that full screen scrolling is almost impossible to do well on the 
  1153. > Mac.  I do understand that game machines have chips that specialize in 
  1154. > such activities.  Howver, is it still not possible for the Mac to do it?  
  1155. > Did C64 and PCs have special chips/functions that helped them to do rapid
  1156. > full-screen scrolling?  I would like to try to do rapid full-screen 
  1157. > scroilling on the Mac , but I am wondering if this ambition is a waste of 
  1158. > time.  I need opinions please!
  1159. Machines like the C64 have hardware assistance, and PCs have a 320x200
  1160. graphics mode & page flipping. It's still possible on the Mac, though--check
  1161. out the demo for Deliverance. The technique the programmer uses seems to
  1162. be to render frames at 320x200 and then blow them up. It still looks pretty
  1163. good, it was very playable at 640x400x16 on my LC 475. You'd have to do
  1164. a lot of assembly optimization to get such performance, I'd bet.
  1165.  
  1166. Sean
  1167.  
  1168. +++++++++++++++++++++++++++
  1169.  
  1170. >From ldo@waikato.ac.nz (Lawrence D'Oliveiro, Waikato University)
  1171. Date: 10 Jun 94 16:30:59 +1200
  1172. Organization: University of Waikato, Hamilton, New Zealand
  1173.  
  1174. In article <2t6pvi$oie@news.kth.se>, d88-jwa@dront.nada.kth.se (Jon Wdtte) writes:
  1175. > In <2t5bff$fnp@news.bu.edu> y-tony@bu.edu (Yan Lee) writes:
  1176. >
  1177. >>    I have been reading a bit about animation and the Mac.  I have
  1178. >>read that full screen scrolling is almost impossible to do well on the
  1179. >>Mac.  I do understand that game machines have chips that specialize in
  1180. >>such activities.  Howver, is it still not possible for the Mac to do it?
  1181. >>Did C64 and PCs have special chips/functions that helped them to do rapid
  1182. >>full-screen scrolling?
  1183. >
  1184. > No; the PC instead has an "inferior" video mode with large pixels
  1185. > which makes the amount of data to move smaller. The smallest Mac color
  1186. > screen is 512x384 pixels, and most are 640x480 or larger (13" or more)
  1187. > The PC screens are 320x200 pixels, so you have only 1/4 as many pixels
  1188. > to move. On the other hand, Mac graphics are much less blocky.
  1189.  
  1190. Here's a thought: some Macs have a hardware pixel-doubling feature built into
  1191. their on-board video (I think the IIvi and IIvx have it). This was introduced
  1192. for use with QuickTime, but as I recall the driver calls are documented in
  1193. some QuickTime release notes somewhere, so you could use it for other
  1194. purposes...
  1195.  
  1196. Lawrence D'Oliveiro                       fone: +64-7-856-2889
  1197. Info & Tech Services Division              fax: +64-7-838-4066
  1198. University of Waikato            electric mail: ldo@waikato.ac.nz
  1199. Hamilton, New Zealand    37^ 47' 26" S, 175^ 19' 7" E, GMT+12:00
  1200.  
  1201. +++++++++++++++++++++++++++
  1202.  
  1203. >From mgr@aggroup.aggroup.com (Mike Russell)
  1204. Date: Fri, 10 Jun 1994 12:43:32 -0800
  1205. Organization: the ag group, inc.
  1206.  
  1207. Live scrolling, where the text moves immediately instead after the thumb
  1208. is released, is no problem on Mac or PC.  Processor speed has more
  1209. than kept up with increases in display depth and resolution.
  1210.  
  1211. Several years ago live scrolling was considered not Mac-like.  Now it
  1212. seems to be accepted.
  1213.  
  1214. +++++++++++++++++++++++++++
  1215.  
  1216. >From ingemar@lysator.liu.se (Ingemar Ragnemalm)
  1217. Date: 11 Jun 1994 07:50:43 GMT
  1218. Organization: (none)
  1219.  
  1220. y-tony@bu.edu (Yan Lee) writes:
  1221.  
  1222. >    I have been reading a bit about animation and the Mac.  I have 
  1223. >read that full screen scrolling is almost impossible to do well on the 
  1224. >Mac.  I do understand that game machines have chips that specialize in 
  1225. >such activities.  Howver, is it still not possible for the Mac to do it?  
  1226.  
  1227. I'm afraid it is impossible, except perhaps on some video boards. In general,
  1228. you must do it by rewriting the entire screen every frame. CopyBitsing
  1229. the entire screen won't be fast enough, and writing a custom blitter doesn't
  1230. help much, if at all.
  1231.  
  1232. The options you have are:
  1233.  
  1234. - Make it possible to step down to fewer bits per pixel. Running in 16
  1235. colors instead of 256 means twice the speed. Actually, it is possible to
  1236. make decent scrolling in 16 colors in a 512*340 area on a slow LC. In
  1237. b/w, it's 8 times faster!
  1238.  
  1239. - Make your graphics in a way that makes it possible to update only some
  1240. parts of the screen for each frame. That means big smooth areas. Sky
  1241. Shadow used that trick (but still didn't get quite the frame rate we
  1242. had ideally wanted), and so did OIDS.
  1243.  
  1244. - Run in a rather small area. This is what Bolo does.
  1245.  
  1246. --
  1247. - -
  1248. Ingemar Ragnemalm, PhD
  1249. Image processing, Mac shareware games
  1250. E-mail address: ingemar@isy.liu.se or ingemar@lysator.liu.se
  1251.  
  1252. +++++++++++++++++++++++++++
  1253.  
  1254. >From alex@metcalf.demon.co.uk (Alex Metcalf)
  1255. Date: Sat, 11 Jun 1994 10:50:42 GMT
  1256. Organization: Best Before Yesterday
  1257.  
  1258. In article <mgr-100694124332@mike.aggroup.com>, mgr@aggroup.aggroup.com
  1259. (Mike Russell) wrote:
  1260.  
  1261. > Live scrolling, where the text moves immediately instead after the thumb
  1262. > is released, is no problem on Mac or PC.  Processor speed has more
  1263. > than kept up with increases in display depth and resolution.
  1264. > Several years ago live scrolling was considered not Mac-like.  Now it
  1265. > seems to be accepted.
  1266.  
  1267. I missed the original post, but if it's about full screen scrolling at
  1268. 30fps, that's still pretty much impossible. There are several solutions
  1269. people have used, such as the draw-every-other-line approach in Deliverance
  1270. to improve speed on slower Macs. Also, QuickTime 2 does it, though that
  1271. doesn't count (I think it doesn't really redraw all the screen all the
  1272. time).
  1273.  
  1274. Someone sent me a test result from a PowerMac: straight blitting a 640x480
  1275. image to the screen and doing nothing else, the frame rate was only about
  1276. 25fps. Games would also do lots of drawing offscreen.
  1277.  
  1278.  
  1279.  
  1280. Alex
  1281.  
  1282. --
  1283. Alex Metcalf, Best Before Yesterday
  1284. Mac programmer in C, C++, HyperTalk, assembler
  1285. Juggler, 3-ball tricks
  1286.  
  1287. Internet:          alex@metcalf.demon.co.uk
  1288. Fax (UK):          (0570) 45636
  1289. Fax (US / Canada): 011 44 570 45636
  1290.  
  1291. +++++++++++++++++++++++++++
  1292.  
  1293. >From misc173@csc.canterbury.ac.nz
  1294. Date: 13 Jun 94 10:33:49 +1200
  1295. Organization: University of Canterbury, Christchurch, New Zealand
  1296.  
  1297.  
  1298. > I missed the original post, but if it's about full screen scrolling at
  1299. > 30fps, that's still pretty much impossible. There are several solutions
  1300. > people have used, such as the draw-every-other-line approach in Deliverance
  1301. > to improve speed on slower Macs. Also, QuickTime 2 does it, though that
  1302. > doesn't count (I think it doesn't really redraw all the screen all the
  1303. > time).
  1304. > Someone sent me a test result from a PowerMac: straight blitting a 640x480
  1305. > image to the screen and doing nothing else, the frame rate was only about
  1306. > 25fps. Games would also do lots of drawing offscreen
  1307.  
  1308.     I couldn't believe this post when I read it yesterday, so I went home
  1309. and wrote a 640x480x8bit RAM scroller, it starts at 0 and scrolls up through
  1310. RAM, copying it to the screen, one line per frame. It got 40 fps on my 605, and
  1311. I know that it could be optimised more, unrolling the inner loop, etc. I tried
  1312. a variety of resolutions and interpolation techniques and gained some
  1313. interesting insights. If you reduce the screen size the speed increases
  1314. proportionaly, 320x240x8bit at 150fps. Using alternate lines doubles the speed
  1315. again ( and looks fairly good against black ), pixel doubling is very slow, I
  1316. havent tried using movep yet, but it should speed things up ( if it works ).
  1317.     This routine uses only move.l, as I intend to program for 040's I will
  1318. try move16, which should speed things up about 3x.
  1319.     The final conclusion is that whoever wrote that ppc blitter ain't very
  1320. good, I know enough assembly to this, and other simple graphics routines, but
  1321. it still goes reasonably fast ( at least 10% faster than copybits ). Full
  1322. screen scrolling is possible, and if someone asks for it I'll even post my
  1323. code.
  1324.  
  1325. Jon.
  1326.  
  1327.  
  1328. +++++++++++++++++++++++++++
  1329.  
  1330. >From ivanski@world.std.com (Ivan M CaveroBelaunde)
  1331. Date: Mon, 13 Jun 1994 00:13:44 GMT
  1332. Organization: The World Public Access UNIX, Brookline, MA
  1333.  
  1334. ldo@waikato.ac.nz (Lawrence D'Oliveiro, Waikato University) writes:
  1335. >> No; the PC instead has an "inferior" video mode with large pixels
  1336. >> which makes the amount of data to move smaller. The smallest Mac color
  1337. >> screen is 512x384 pixels, and most are 640x480 or larger (13" or more)
  1338. >> The PC screens are 320x200 pixels, so you have only 1/4 as many pixels
  1339. >> to move. On the other hand, Mac graphics are much less blocky.
  1340. >Here's a thought: some Macs have a hardware pixel-doubling feature built into
  1341. >their on-board video (I think the IIvi and IIvx have it). This was introduced
  1342. >for use with QuickTime, but as I recall the driver calls are documented in
  1343. >some QuickTime release notes somewhere, so you could use it for other
  1344. >purposes...
  1345.  
  1346. Yeah, this feature is available - it's not, however, widely available
  1347. enough to be of any use to anyone writing games. It is *definitely* in the
  1348. LC II and the Color Classic (I think you're right about the vi/vx, but
  1349. not altogether sure). It actually went in at first *only* because it was
  1350. needed by the Apple IIe card and was undocumented (ie twiddle this
  1351. memory mapped register) until QT 1.5, where video driver calls for them
  1352. were defined, as well as the GDHasScale/GetScale/SetScale calls. Oh, at
  1353. least in the LC II it only works in 16bpp mode, which is another problem
  1354. (since the flimsy VRAM capacity allows 16bpp only with the 12-inch
  1355. monitor, which most people don't have anyway). So although the feature is
  1356. there in theory, it is useless for practical purposes for games.
  1357.  
  1358. Plus the fact that the 16bpp restriction means that at quarter screen zoom
  1359. you're blasting the same amount of memory as if you were doing half-screen
  1360. "letterboxed" at the non-hw-zoom resolution. Plus the fact that the LC II
  1361. has the crippled 16-bit-wide data bus to the CPU, adding to the problem.
  1362. Plus ... nah, I could go on ...
  1363.  
  1364. I'd explore instead the trick the MacPlay people mentioned at the WWDC
  1365. that is used in AstroChase 3D: interlaced animation, which allows you
  1366. to blast every other line in a given animation frame, cutting your
  1367. blitting bandwith needs by half...
  1368.  
  1369. -Ivan
  1370. - -
  1371. Ivan Cavero Belaunde (ivanski@world.std.com)
  1372. Avid VideoShop Project Lead
  1373. Avid Technology, Inc.
  1374.  
  1375. +++++++++++++++++++++++++++
  1376.  
  1377. >From 103t_english@west.cscwc.pima.edu
  1378. Date: 12 Jun 94 18:28:03 MST
  1379. Organization: (none)
  1380.  
  1381. In article <1994Jun13.103349.1@csc.canterbury.ac.nz>, misc173@csc.canterbury.ac.nz writes:
  1382. >> I missed the original post, but if it's about full screen scrolling at
  1383. >> 30fps, that's still pretty much impossible. There are several solutions
  1384. >> people have used, such as the draw-every-other-line approach in Deliverance
  1385. >> to improve speed on slower Macs. Also, QuickTime 2 does it, though that
  1386. >> doesn't count (I think it doesn't really redraw all the screen all the
  1387. >> time).
  1388. >> 
  1389. >> Someone sent me a test result from a PowerMac: straight blitting a 640x480
  1390. >> image to the screen and doing nothing else, the frame rate was only about
  1391. >> 25fps. Games would also do lots of drawing offscreen
  1392. >     I couldn't believe this post when I read it yesterday, so I went home
  1393. > and wrote a 640x480x8bit RAM scroller, it starts at 0 and scrolls up through
  1394. > RAM, copying it to the screen, one line per frame. It got 40 fps on my 605, and
  1395. > I know that it could be optimised more, unrolling the inner loop, etc. I tried
  1396. > a variety of resolutions and interpolation techniques and gained some
  1397. > interesting insights. If you reduce the screen size the speed increases
  1398. > proportionaly, 320x240x8bit at 150fps. Using alternate lines doubles the speed
  1399. > again ( and looks fairly good against black ), pixel doubling is very slow, I
  1400. > havent tried using movep yet, but it should speed things up ( if it works ).
  1401. >     This routine uses only move.l, as I intend to program for 040's I will
  1402. > try move16, which should speed things up about 3x.
  1403. >     The final conclusion is that whoever wrote that ppc blitter ain't very
  1404. > good, I know enough assembly to this, and other simple graphics routines, but
  1405. > it still goes reasonably fast ( at least 10% faster than copybits ). Full
  1406. > screen scrolling is possible, and if someone asks for it I'll even post my
  1407. > code.
  1408. > Jon.
  1409.  
  1410. d e v e l o p 18 claims that the PPC blitter that they used was slower than
  1411. CopyBits because it didn't (presumably, for some unknown reason, *couldn't*)
  1412. take advantage of the 64-bit path of video. For this same reason, *BlockMove*
  1413. was also slower.
  1414.  
  1415. What is going on with the memory subsystem in the PowerMacs? Is it or isn't it
  1416. 64-bit? Is the DRAM video 64-bit? Is the AV video? Is the non-AV PDS video?
  1417.  
  1418.  
  1419. What is the actual and theoretical maximum speeds of a customized full-screen (ala
  1420. Doom/PID game) blitter from RAM into any of the three standard videos at 8, 16
  1421. and 32-bit? (I'm aware that DRAM video can't do 32-bit -leave that entry
  1422. blank).
  1423.  
  1424.  
  1425. For that matter, why can't BlockMove move data in 64-bit chunks when it is most
  1426. optimal to do so?
  1427.  
  1428. And finally, what happened to the load/store multiple instructions that are (I
  1429. assume?) faster on the 601, but will probably be slower "in future
  1430. implementations?"
  1431.  
  1432. I assume that all the boundry conditions to make these the most efficient way
  1433. to move memory in the 601 are met by the various video options? Certainly, one
  1434. can guarantee that a buffer can meet them by insuring that the beginning
  1435. address referenced starts on a 4-K boundry?
  1436.  
  1437.  
  1438. Is CopyBIts supposed to be faster than using a sequence of load/store multiple
  1439. instructions on the 601? (the article in d e v e l o p already suggested that
  1440. one should test for maximum speed anyways, so what harm to optimize for the
  1441. 601?)
  1442.  
  1443.  
  1444. Lawson
  1445.  
  1446. +++++++++++++++++++++++++++
  1447.  
  1448. >From seanmcd@ac.dal.ca
  1449. Date: 12 Jun 94 23:22:57 -0300
  1450. Organization: Dalhousie University, Halifax, Nova Scotia, Canada
  1451.  
  1452. In article <CrB7Aw.6E3@world.std.com>, ivanski@world.std.com (Ivan M CaveroBelaunde) writes:
  1453. > I'd explore instead the trick the MacPlay people mentioned at the WWDC
  1454. > that is used in AstroChase 3D: interlaced animation, which allows you
  1455. > to blast every other line in a given animation frame, cutting your
  1456. > blitting bandwith needs by half...
  1457. I think Chuck Yeager's Air Combat does this too. You can see interlacing
  1458. in the terrain if you rock the plane back and forth.
  1459.  
  1460. Sean
  1461.  
  1462. +++++++++++++++++++++++++++
  1463.  
  1464. >From Cameron Esfahani <dirty@apple.com>
  1465. Date: Mon, 13 Jun 1994 05:47:46 GMT
  1466. Organization: Apple Computer, Inc.
  1467.  
  1468. In article <RANG.94Jun12213306@icicle.winternet.com> Anton Rang,
  1469. rang@winternet.com writes:
  1470. >   Unless you're using the floating-point registers, you can't use the
  1471. > full 64-bit path efficiently, because there's no 64-bit integer load.
  1472. > I haven't looked at NQDCopyBits to see if it uses the FP registers; I
  1473. > suppose that it *could*, in cases where there is no scaling, shifting,
  1474. > etc. but it seems unlikely that it would.
  1475.  
  1476.  
  1477.  
  1478. It does...
  1479.  
  1480. Cameron Esfahani
  1481. dirty@apple.com
  1482.  
  1483. +++++++++++++++++++++++++++
  1484.  
  1485. >From d88-jwa@mumrik.nada.kth.se (Jon Wdtte)
  1486. Date: 13 Jun 1994 06:44:15 GMT
  1487. Organization: The Royal Institute of Technology
  1488.  
  1489. In <1994Jun13.103349.1@csc.canterbury.ac.nz> misc173@csc.canterbury.ac.nz writes:
  1490.  
  1491. >again ( and looks fairly good against black ), pixel doubling is very slow, I
  1492.  
  1493. Pixel doubling is not slow; remember; you only have to read one
  1494. quarter as much memory. A co-worker of mine blits 320x200 into
  1495. 640x400, using C, in 21 milliseconds for a 48 fps frame rate.
  1496. Using the interesting bit-splice instructions in the 601, you'd
  1497. probably get even better frame rates; no current Mac C compiler
  1498. knows those instructions :-)
  1499.  
  1500. -- 
  1501.  -- Jon W{tte, h+@nada.kth.se, Mac Software Engineer Deluxe --
  1502.  "Don't stick a Fork in your Eye."
  1503.  
  1504. +++++++++++++++++++++++++++
  1505.  
  1506. >From stay@park.uvsc.edu (Steve Taylor)
  1507. Date: Mon, 13 Jun 1994 16:17:47 GMT
  1508. Organization: Utah Valley State College, Orem, Utah
  1509.  
  1510. >From article <1994Jun12.232257.24853@dal1>, by seanmcd@ac.dal.ca:
  1511. > In article <CrB7Aw.6E3@world.std.com>, ivanski@world.std.com (Ivan M CaveroBelaunde) writes:
  1512. >> 
  1513. >> I'd explore instead the trick the MacPlay people mentioned at the WWDC
  1514. >> that is used in AstroChase 3D: interlaced animation, which allows you
  1515. >> to blast every other line in a given animation frame, cutting your
  1516. >> blitting bandwith needs by half...
  1517. >> 
  1518. > I think Chuck Yeager's Air Combat does this too. You can see interlacing
  1519. > in the terrain if you rock the plane back and forth.
  1520. > Sean
  1521.  
  1522. Could someone describe this technique in more detail?  Are you talking
  1523. about leaving the other lines there and blitting the other half or
  1524. are you talking about doubling the height of the lines or what?
  1525. Thanks.
  1526.  
  1527. -- 
  1528. -- Steve Taylor (stay@wahoo.com  or  stay@park.uvsc.edu)
  1529. --
  1530. -- Life is the Dress Rehearsal for Hell.
  1531. --
  1532.  
  1533. +++++++++++++++++++++++++++
  1534.  
  1535. >From amanda@intercon.com (Amanda Walker)
  1536. Date: Mon, 13 Jun 1994 14:05:46 -0500
  1537. Organization: InterCon Systems Corporation, Herndon, VA  USA
  1538.  
  1539. y-tony@bu.edu (Yan Lee) writes:
  1540. > Is there a source code for the Mac for lowres modes?  It must be 
  1541. > possible since Pathways into darkness has that mode to double the speed. 
  1542.  
  1543. Pathways does this in software.  It renders offscreen at half resolution, and 
  1544. then doubles the pixels in software before putting them on the screen.
  1545.  
  1546.  
  1547. Amanda Walker
  1548. InterCon Systems Corporation
  1549.  
  1550.  
  1551.  
  1552. +++++++++++++++++++++++++++
  1553.  
  1554. >From mxmora@unix.sri.com (Matt Mora)
  1555. Date: 13 Jun 1994 13:22:29 -0700
  1556. Organization: SRI International, Menlo Park, CA
  1557.  
  1558. In article <1994Jun13.103349.1@csc.canterbury.ac.nz> misc173@csc.canterbury.ac.nz writes:
  1559.  
  1560. >    The final conclusion is that whoever wrote that ppc blitter ain't very
  1561. >good, I know enough assembly to this, and other simple graphics routines, but
  1562. >it still goes reasonably fast ( at least 10% faster than copybits ). Full
  1563. >screen scrolling is possible, and if someone asks for it I'll even post my
  1564. >code.
  1565.  
  1566.  
  1567. Well, post your code then. I'll run it on my 8100 and see how fast your
  1568. hand tuned assember is running emulated. If you have the c code, I can 
  1569. recompile it and see if it faster than CopyBits. 
  1570.  
  1571. Here's a clue use a fp register.
  1572.  
  1573.  
  1574. Anyway, I'm tweeking the PPC blitter code to try an experiment using the 
  1575. dirty rectangle approach for animation using the PPC blitter to blit
  1576. a fixed sized rect to the screen when that rect becomes dirty. The question
  1577. is when drawing in the gWorld, whats a fast way to flag that a rect has become
  1578. dirty?
  1579.  
  1580.  
  1581.  
  1582. Xavier
  1583.  
  1584.  
  1585.  
  1586.  
  1587. -- 
  1588. ___________________________________________________________
  1589. Matthew Xavier Mora                       Matt_Mora@sri.com
  1590. SRI International                       mxmora@unix.sri.com
  1591. 333 Ravenswood Ave                    Menlo Park, CA. 94025
  1592.  
  1593. +++++++++++++++++++++++++++
  1594.  
  1595. >From mxmora@unix.sri.com (Matt Mora)
  1596. Date: 13 Jun 1994 15:00:37 -0700
  1597. Organization: SRI International, Menlo Park, CA
  1598.  
  1599. In article <CrCFxp.79K@park.uvsc.edu> stay@park.uvsc.edu (Steve Taylor) writes:
  1600.  
  1601. >Could someone describe this technique in more detail?  Are you talking
  1602. >about leaving the other lines there and blitting the other half or
  1603. >are you talking about doubling the height of the lines or what?
  1604. >Thanks.
  1605.  
  1606.  
  1607. In astroChase 3d (or whatever its called) they paint only every other
  1608. line in the screen display. This speeds up the drawing by not having to
  1609. write half the data and makes it look like your viewing the action from
  1610. a tv monitor. 
  1611.  
  1612. I'm assuming that other game is writing first the odd lines in one pass
  1613. and then the even lines in another pass. 
  1614.  
  1615. These are clever way to reduce the amount of data that needs to be written.
  1616. As programmers we try to come of with these workaround because of the basic
  1617. limitation that the Mac can't paint the screen fast enough. Plain and Simple.
  1618.  
  1619. The goal is to write as little data to the screen as possible so that we can
  1620. concentrate on the rest of the game. If you thought about it hard enough
  1621. you probaly could come up with a way to paint the whole screen but then it
  1622. wouldn't be much of a game.
  1623.  
  1624. Also, there seems to be a magic equation that we strive for that can
  1625. write the most pixels in the least amount of time. So to gain any speed
  1626. we need top find out what pixels not to draw. If on the PPC
  1627. we can write a 64 bit word to memory, in 256 colors that's 8 pixels
  1628. in a row.  So if we were going to write one pixel we might as well
  1629. write 8. So its a balance of testing to see what needs to be drawn
  1630. and just blindy drawing.
  1631.  
  1632.  
  1633. Xavier
  1634.  
  1635.  
  1636.  
  1637.  
  1638. -- 
  1639. ___________________________________________________________
  1640. Matthew Xavier Mora                       Matt_Mora@sri.com
  1641. SRI International                       mxmora@unix.sri.com
  1642. 333 Ravenswood Ave                    Menlo Park, CA. 94025
  1643.  
  1644. +++++++++++++++++++++++++++
  1645.  
  1646. >From mxmora@unix.sri.com (Matt Mora)
  1647. Date: 13 Jun 1994 16:58:42 -0700
  1648. Organization: SRI International, Menlo Park, CA
  1649.  
  1650. In article <2tif65$s62@unix.sri.com> mxmora@unix.sri.com (Matt Mora) writes:
  1651.  
  1652. >Anyway, I'm tweeking the PPC blitter code to try an experiment using the 
  1653. >dirty rectangle approach for animation using the PPC blitter to blit
  1654. >a fixed sized rect to the screen when that rect becomes dirty. The question
  1655. >is when drawing in the gWorld, whats a fast way to flag that a rect has become
  1656. >dirty?
  1657.  
  1658. Doing some quick test on a 8100/80av in 256 color mode, using the PPC blitter
  1659. in develop, it can blit approximatly 2383 8x8 rects in one tick.
  1660.  
  1661. If you want 30fps you can probably double the number of rects. This still
  1662. won't let you do scrolling backgrounds unless your real clever in designing
  1663. your backgrounds.
  1664.  
  1665.  
  1666.  
  1667. Xavier
  1668.  
  1669.  
  1670. -- 
  1671. ___________________________________________________________
  1672. Matthew Xavier Mora                       Matt_Mora@sri.com
  1673. SRI International                       mxmora@unix.sri.com
  1674. 333 Ravenswood Ave                    Menlo Park, CA. 94025
  1675.  
  1676. +++++++++++++++++++++++++++
  1677.  
  1678. >From misc173@csc.canterbury.ac.nz
  1679. Date: 14 Jun 94 13:24:59 +1200
  1680. Organization: University of Canterbury, Christchurch, New Zealand
  1681.  
  1682.  
  1683. > Pixel doubling is not slow; remember; you only have to read one
  1684. > quarter as much memory. A co-worker of mine blits 320x200 into
  1685. > 640x400, using C, in 21 milliseconds for a 48 fps frame rate.
  1686. > Using the interesting bit-splice instructions in the 601, you'd
  1687. > probably get even better frame rates; no current Mac C compiler
  1688. > knows those instructions :-).
  1689.  
  1690.     What cpu is this on, possibly an 840av, if you look at the timings 
  1691. involved you will see that doubling 320x240 to 640x480 cannot go as fast
  1692. as just moving 640x480
  1693. Moving:
  1694.     Move.l (a0)+, (a1)+
  1695.     Move.l (a0)+, (a1)+
  1696.  
  1697.     moves 8 pixels from Ptr a0 to Ptr a1. Assuming a 68000 this takes 24
  1698.     clock cycles ( I dont have timing for anything else ).
  1699.  
  1700. Expanding:
  1701.     Move.l (a0)+, d0
  1702.     ;expand the pixels into another register
  1703.     Move.l d1, (a1)+
  1704.     Move.l d2, (a1)+
  1705.  
  1706.     this uses three reg->mem operations, 8 clkcs each, 24 total. The time
  1707.     required to shift the data is just as much, and it doesn't include any
  1708.     code to double the pixels.
  1709.  
  1710.     So why use pixel doubling? Because when you're creating the offscreen 
  1711. image you only have to do a quater the work. This is the only benefit, and it 
  1712. will not outway the slowdown of the blit all the time, each case has to be
  1713. determined individually.
  1714.     Personally I'm interested in the hardware expander in some Macs, much
  1715. more potential than software.
  1716.     For those who asked for my blitter, I'll turn it into a procedure that
  1717. takes arguements and checks rowbytes and post it when I get my modem in a
  1718. couple of days.
  1719.  
  1720. Jon.
  1721. as just shifting 640x480. 
  1722.  
  1723.  
  1724. +++++++++++++++++++++++++++
  1725.  
  1726. >From seanmcd@ac.dal.ca
  1727. Date: 13 Jun 94 21:29:36 -0300
  1728. Organization: Dalhousie University, Halifax, Nova Scotia, Canada
  1729.  
  1730. In article <CrCFxp.79K@park.uvsc.edu>, stay@park.uvsc.edu (Steve Taylor) writes:
  1731. > From article <1994Jun12.232257.24853@dal1>, by seanmcd@ac.dal.ca:
  1732. >> In article <CrB7Aw.6E3@world.std.com>, ivanski@world.std.com (Ivan M CaveroBelaunde) writes:
  1733. >>> 
  1734. >>> I'd explore instead the trick the MacPlay people mentioned at the WWDC
  1735. >>> that is used in AstroChase 3D: interlaced animation, which allows you
  1736. >>> to blast every other line in a given animation frame, cutting your
  1737. >>> blitting bandwith needs by half...
  1738. >>> 
  1739. >> I think Chuck Yeager's Air Combat does this too. You can see interlacing
  1740. >> in the terrain if you rock the plane back and forth.
  1741. >> 
  1742. >> Sean
  1743. > Could someone describe this technique in more detail?  Are you talking
  1744. > about leaving the other lines there and blitting the other half or
  1745. > are you talking about doubling the height of the lines or what?
  1746. > Thanks.
  1747. Well the description given above makes AstroChase 3D sound like CYAC,
  1748. although the only thing I've seen in AstroChase 3D is the venetian blind
  1749. style, rendering the frame onto every other line. Deliverance also has the
  1750. option to do this, as does a game called Gate. It looks to me like CYAC
  1751. does interlacing, i.e., there are no black lines alternating with the
  1752. graphics, but if you rock the plane
  1753. or turn rapidly, you can see the interlacing effect fairly easy in large
  1754. polygons. I don't know enough about 3D graphics to know whether you could
  1755. actually render even/odd scanlines or whether he's just splitting an off-screen
  1756. drawing into two blits.
  1757.  
  1758. Sean
  1759.  
  1760. +++++++++++++++++++++++++++
  1761.  
  1762. >From misc173@csc.canterbury.ac.nz
  1763. Date: 14 Jun 94 23:05:14 +1200
  1764. Organization: University of Canterbury, Christchurch, New Zealand
  1765.  
  1766.  
  1767. > Well, post your code then. I'll run it on my 8100 and see how fast your
  1768. > hand tuned assember is running emulated. If you have the c code, I can 
  1769. > recompile it and see if it faster than CopyBits.  
  1770. > Here's a clue use a fp register.
  1771. > Anyway, I'm tweeking the PPC blitter code to try an experiment using the 
  1772. > dirty rectangle approach for animation using the PPC blitter to blit
  1773. > a fixed sized rect to the screen when that rect becomes dirty. The question
  1774. > is when drawing in the gWorld, whats a fast way to flag that a rect has become
  1775. > dirty?
  1776.  
  1777. Yea, I'll post it soon, please note that I dont think I know enough assembly
  1778. to optimise it very well, I'll put unrolling notes in it to keep the size
  1779. down, I dont want to pay for 160 move.l 's. 
  1780. I dont know what you're doing, but with respect to a game I'd keep a list of 
  1781. currently valid rectangles and if the movement routine does stuff set a flag
  1782. in the list to true, you could add some code to combine the updated rectangles
  1783. into one ( in non-sprite situations ), or even just asume that all sprites are
  1784. moving.
  1785.  
  1786.  
  1787. The code will be here soon, at the moment I'm netting off a Vax, with my modem, 
  1788. yes I have it, I'll be able to post much more easily.
  1789.  
  1790. Jon.
  1791.  
  1792.  
  1793.  
  1794.  
  1795. +++++++++++++++++++++++++++
  1796.  
  1797. >From d88-jwa@mumrik.nada.kth.se (Jon Wdtte)
  1798. Date: 14 Jun 1994 13:04:10 GMT
  1799. Organization: The Royal Institute of Technology
  1800.  
  1801. In <1994Jun14.132459.1@csc.canterbury.ac.nz> misc173@csc.canterbury.ac.nz writes:
  1802.  
  1803. >> Pixel doubling is not slow; remember; you only have to read one
  1804. >> quarter as much memory. A co-worker of mine blits 320x200 into
  1805. >> 640x400, using C, in 21 milliseconds for a 48 fps frame rate.
  1806.  
  1807. >    What cpu is this on, possibly an 840av, if you look at the timings 
  1808. >involved you will see that doubling 320x240 to 640x480 cannot go as fast
  1809. >as just moving 640x480
  1810.  
  1811. This was a 6100/60.
  1812.  
  1813. ....
  1814.  
  1815. >    this uses three reg->mem operations, 8 clkcs each, 24 total. The time
  1816. >    required to shift the data is just as much, and it doesn't include any
  1817. >    code to double the pixels.
  1818.  
  1819. >    So why use pixel doubling? Because when you're creating the offscreen 
  1820. >image you only have to do a quater the work. This is the only benefit, and it 
  1821.  
  1822. You can't just count clocks out of the book; overlapping reads/writes,
  1823. caches, writeback, stalls, etc etc etc all have their effect.
  1824. And doubling doesn't just mean doubling on an X axis; you double on
  1825. the Y axis as well to achieve square 2x2 pixels.
  1826.  
  1827. As long as pixel doubling N pixels in registers is faster than N*3 read
  1828. cycles in memory, you'll gain blitting speed from the doubling as well
  1829. as having much less to render. In a world of slow DRAM and fast CPUs
  1830. (PowerPC) this is really important.
  1831.  
  1832. Cheers,
  1833.  
  1834.                     / h+
  1835.  
  1836. -- 
  1837.  -- Jon W{tte, h+@nada.kth.se, Mac Software Engineer Deluxe --
  1838.     Not speaking for the Liberian Government.
  1839.  
  1840. +++++++++++++++++++++++++++
  1841.  
  1842. >From glalonde@vnet.ibm.com (Glen Lalonde)
  1843. Date: 14 Jun 1994 13:05:07 GMT
  1844. Organization: IBM Toronto Lab.
  1845.  
  1846. In a program I am working on(at home) I managed to double the frame rate
  1847. by using custom routines to draw into a off screen gworld. Using quickdraw
  1848. was just too slow. My routines just moves bytes.
  1849.  
  1850. After this is done, copybits is used to move the image to the users screen.
  1851. Even with everything aligned correctly and color tables(& index) matching,
  1852. copybits still takes way to long. I think having a 'use only quickdraw'
  1853. option will be added which will allow me to use a custom copybits unless
  1854. the user asked me not to.
  1855.  
  1856. I can't post exact frame rates since when the program runs(in none test mode)
  1857. only the part of the screen which has changed gets copybits to the users
  1858. screen. 
  1859.  
  1860. Any comments one what is the 'minimum' frame rate needed so that the
  1861. action looks reasonably smooth?
  1862.  
  1863.  
  1864. Glen.
  1865.  
  1866.  
  1867. +++++++++++++++++++++++++++
  1868.  
  1869. >From enry@dcs.qmw.ac.uk (Henry)
  1870. Date: 14 Jun 1994 16:42:39 GMT
  1871. Organization: Queen Mary & Westfield College, London, UK
  1872.  
  1873.  
  1874. Shuffling bytes about in memory just puts a huge burden on the processor
  1875. when it should be calculating something far less menial.
  1876. Why can I not change the video hardware's screen base pointer, and fill in the
  1877. newly exposed part of the screen. This eliminates as much bit copying as we
  1878. like (give enough vram set asside)...
  1879. It also has the added advantage of having an offscreen pixmap, and being
  1880. able to display it instantly without blasting bytes through the proccessor,
  1881. allowing sencible (fast) screen buffering.
  1882.  
  1883. Is it possible to reliably direct the macs hardware to a different
  1884. screen buffer?
  1885. (You can do it on a Mac512k :-)
  1886. If not, can I do it unreliably?
  1887. If not, you are all destined to fester in the mouldy crevis of a mac games
  1888. industry that has about as much chance of producing a decent game, as a 
  1889. cheese sandwich has of sneaking its way past the doorman at the Hilton.
  1890.  
  1891. Morgan,
  1892. --
  1893. Did I say I was a sardine?  Or a bus?
  1894.  
  1895.  
  1896. +++++++++++++++++++++++++++
  1897.  
  1898. >From Bruce@hoult.actrix.gen.nz (Bruce Hoult)
  1899. Date: Wed, 15 Jun 1994 03:01:36 +1200 (NZST)
  1900. Organization: (none)
  1901.  
  1902. mxmora@unix.sri.com (Matt Mora) writes:
  1903. > Anyway, I'm tweeking the PPC blitter code to try an experiment using the 
  1904. > dirty rectangle approach for animation using the PPC blitter to blit
  1905. > a fixed sized rect to the screen when that rect becomes dirty. The question
  1906. > is when drawing in the gWorld, whats a fast way to flag that a rect has become
  1907. > dirty?
  1908.  
  1909. An approach I've used:
  1910.  
  1911. keep an array with one element per scanline.  Each element consists of
  1912. two integers: the first dirty pixel in the line, and the last dirty
  1913. pixel in the line.
  1914.  
  1915. Unless there's some particular reason for always blitting a rect, I'd
  1916. just blit a scanline at a time, however much is needed.  When blitting
  1917. the line, round the start down and the end up to the nearest transfer
  1918. unit.
  1919.  
  1920. -- Bruce
  1921.  
  1922. +++++++++++++++++++++++++++
  1923.  
  1924. >From larsg@edb.tih.no (Lars Garden)
  1925. Date: 14 Jun 1994 18:03:14 GMT
  1926. Organization: Trondheim College of Engineering
  1927.  
  1928. Jon Wdtte (d88-jwa@dront.nada.kth.se) wrote:
  1929. : In <2t5bff$fnp@news.bu.edu> y-tony@bu.edu (Yan Lee) writes:
  1930.  
  1931. : >Hello,
  1932.  
  1933. : >    I have been reading a bit about animation and the Mac.  I have 
  1934. : >read that full screen scrolling is almost impossible to do well on the 
  1935. : >Mac.  I do understand that game machines have chips that specialize in 
  1936. : >such activities.  Howver, is it still not possible for the Mac to do it?  
  1937. : >Did C64 and PCs have special chips/functions that helped them to do rapid
  1938. : >full-screen scrolling?  I would like to try to do rapid full-screen 
  1939. : No; the PC instead has an "inferior" video mode with large pixels
  1940. : which makes the amount of data to move smaller.
  1941.  
  1942. "Inferior" video modes are quite useful when you want to sacrifice
  1943. resolution for speed. Is the Mac really not capable of using video modes
  1944. with a resolution less than 512x384?
  1945.  
  1946. --
  1947.  
  1948.      // Lars Gaarden. Student at Trondheim College of Engineering.
  1949.  \\ //  email: larsg@edb.tih.no  IRC: Lynet
  1950.   \X/   "But I will rise and I will return like a phoenix from the flame."
  1951.          - Siniad O'Conner
  1952.  
  1953.  
  1954. +++++++++++++++++++++++++++
  1955.  
  1956. >From julian@cs.aukuni.ac.nz (Julian Ross  Harris)
  1957. Date: 14 Jun 1994 23:37:59 GMT
  1958. Organization: University of Auckland
  1959.  
  1960. ingemar@lysator.liu.se (Ingemar Ragnemalm) writes:
  1961.  
  1962. >The options you have are:
  1963.  
  1964. >- Make it possible to step down to fewer bits per pixel. Running in 16
  1965. >colors instead of 256 means twice the speed. Actually, it is possible to
  1966. >make decent scrolling in 16 colors in a 512*340 area on a slow LC. In
  1967. >b/w, it's 8 times faster!
  1968.  
  1969. >- Run in a rather small area. This is what Bolo does.
  1970.  
  1971. Yes, I know it's hardly relevant these days, but i wrote this game on the 
  1972. Mac Plus that used offscreen bitmaps and fullscreen scrolling. The trick
  1973. was to scroll in 32 pixel increments (Ultima-type game). Then full screen
  1974. scrolling was instantaneous. Trouble is, 8 bit is 8x slower, and smooth means
  1975. minimum of 2 pixels at a time, which is a whole lot harder without hardware
  1976. assistance.
  1977.  
  1978. --
  1979. Julian, Programmer, Comp. Sci, Univ. Auckland, julian@cs.auckland.ac.nz
  1980.  
  1981. +++++++++++++++++++++++++++
  1982.  
  1983. >From dwareing@apanix.apana.org.au (David Wareing)
  1984. Date: 14 Jun 94 15:21:50 GMT
  1985. Organization: Apanix Public Access Unix, +61 8 373 5485 (5 lines)
  1986.  
  1987. seanmcd@ac.dal.ca writes:
  1988.  
  1989. >In article <CrB7Aw.6E3@world.std.com>, ivanski@world.std.com (Ivan M CaveroBelaunde) writes:
  1990. >> 
  1991. >> I'd explore instead the trick the MacPlay people mentioned at the WWDC
  1992. >> that is used in AstroChase 3D: interlaced animation, which allows you
  1993. >> to blast every other line in a given animation frame, cutting your
  1994. >> blitting bandwith needs by half...
  1995. >> 
  1996. >I think Chuck Yeager's Air Combat does this too. You can see interlacing
  1997. >in the terrain if you rock the plane back and forth.
  1998.  
  1999. And of course there's always Deliverance. That demo still surprises me
  2000. every time I check it out. Just not used to scrolling graphics on the mac
  2001. I guess.
  2002.  
  2003. --
  2004. David Wareing
  2005. Adelaide, South Australia         dwareing@apanix.apana.org.au
  2006. - ------------------------------------------------------------
  2007. Overflight Software - Macintosh Games & Multimedia Programming
  2008.  
  2009. +++++++++++++++++++++++++++
  2010.  
  2011. >From Malicious_Monarch@nile.com (Malicious Monarch)
  2012. Date: Tue, 14 Jun 94 14:54:56 MDT
  2013. Organization: The Nile BBS
  2014.  
  2015. <<"Inferior" video modes are quite useful when you want to sacrifice resolution
  2016. for speed.>>
  2017.  
  2018.   That's true, but I don't know many people who would like to take a game with
  2019. pixelated graphics over one that has very precise -shall I say 'crisp'? :) -
  2020. graphics.  There's always more than one way to make a game...
  2021.  
  2022.  
  2023. -Eric A. Drumbor-
  2024.  
  2025.      Opinions posted are of the user, not the administration.
  2026.  
  2027. +++++++++++++++++++++++++++
  2028.  
  2029. >From Malicious_Monarch@nile.com (Malicious Monarch)
  2030. Date: Tue, 14 Jun 94 14:58:44 MDT
  2031. Organization: The Nile BBS
  2032.  
  2033. <<If not, you are all destined to fester in the mouldy crevis of a mac games
  2034. industry that has about as much chance of producing a decent game, as a  cheese
  2035. sandwich has of sneaking its way past the doorman at the Hilton.>>
  2036.  
  2037.    Haha ;)  Nice.  But since when does a minor limitation make a computer
  2038. completely inferior for decent games?  Come come, let's be a little more
  2039. optimistic...
  2040.  
  2041.  
  2042. -Eric A. Drumbor-
  2043.  
  2044.      Opinions posted are of the user, not the administration.
  2045.  
  2046. +++++++++++++++++++++++++++
  2047.  
  2048. >From d88-jwa@mumrik.nada.kth.se (Jon Wdtte)
  2049. Date: 15 Jun 1994 11:51:39 GMT
  2050. Organization: The Royal Institute of Technology
  2051.  
  2052. In <2tkmlv$602@beta.qmw.ac.uk> enry@dcs.qmw.ac.uk (Henry) writes:
  2053.  
  2054. >Why can I not change the video hardware's screen base pointer, and fill in the
  2055. >newly exposed part of the screen. This eliminates as much bit copying as we
  2056. >like (give enough vram set asside)...
  2057.  
  2058. 1) because then you'd have locked yourself into a specific screen
  2059. hardware setup. A MacPlus is different from a Toby Framebuffer is
  2060. different from a THinder/24 is different from a 8100/AV.
  2061.  
  2062. >Is it possible to reliably direct the macs hardware to a different
  2063. >screen buffer?
  2064.  
  2065. Only if you want to special-case for dozens of video cards.
  2066. Not to mention that half of them don't have enough extra RAM
  2067. to put any extra pixels in.
  2068.  
  2069. >If not, you are all destined to fester in the mouldy crevis of a mac games
  2070. >industry that has about as much chance of producing a decent game, as a 
  2071. >cheese sandwich has of sneaking its way past the doorman at the Hilton.
  2072.  
  2073. Well, the PowerPC does some pretty decent frame rates.
  2074. And I think Prince of Persia was a decent game, and SimCity 2000
  2075. still is.
  2076.  
  2077. Cheers,
  2078.  
  2079.                 / h+
  2080. -- 
  2081.  -- Jon W{tte, h+@nada.kth.se, Mac Software Engineer Deluxe --
  2082.  
  2083.   "Practice random kindness, and senseless acts of beauty."
  2084.  
  2085. +++++++++++++++++++++++++++
  2086.  
  2087. >From d88-jwa@mumrik.nada.kth.se (Jon Wdtte)
  2088. Date: 15 Jun 1994 11:53:11 GMT
  2089. Organization: The Royal Institute of Technology
  2090.  
  2091. In <2tkrd2$nk3@astfgl.edb.tih.no> larsg@edb.tih.no (Lars Garden) writes:
  2092.  
  2093. >"Inferior" video modes are quite useful when you want to sacrifice
  2094. >resolution for speed. Is the Mac really not capable of using video modes
  2095. >with a resolution less than 512x384?
  2096.  
  2097. Worse.
  2098.  
  2099. Most screen cards stop at 640x480; the 512x384 mode is only for the
  2100. Mac LC 12" color monitor and the Color Classic 10" built-in color,
  2101. none of which sold well.
  2102.  
  2103. A Mac has square pixels at 72 dpi, and that's it!
  2104.  
  2105. Cheers,
  2106.  
  2107.                     / h+
  2108. -- 
  2109.  -- Jon W{tte, h+@nada.kth.se, Mac Software Engineer Deluxe --
  2110.  
  2111.   "Practice random kindness, and senseless acts of beauty."
  2112.  
  2113. +++++++++++++++++++++++++++
  2114.  
  2115. >From mikec@mv.mv.com (Mike Callaghan)
  2116. Date: Wed, 15 Jun 1994 12:32:19 GMT
  2117. Organization: MV Communications, Inc.
  2118.  
  2119. In article <2t5bff$fnp@news.bu.edu>, y-tony@bu.edu (Yan Lee) writes:
  2120. >       I have been reading a bit about animation and the Mac.  I have
  2121. >read that full screen scrolling is almost impossible to do well on the
  2122. >Mac.  I do understand that game machines have chips that specialize in
  2123. >such activities.  Howver, is it still not possible for the Mac to do it?
  2124.  
  2125. What about programs like Stepping Out? It did great full-screen scrolling
  2126. relatively quickly even on a Mac Plus. I realize that doing this in a 
  2127. window is a completely different story, but how did Stepping Out accomplish
  2128. it? Is it possible to set up a giant bitmap (or pixmap) and simply alter
  2129. the address where the Mac thinks its screen is? 
  2130.  
  2131. MikeC
  2132. -- 
  2133. Michael D. Callaghan                             Nashua, New Hampshire
  2134. - --------------------------------------------------------------------
  2135. RULE: "(sqrt(-1)) before (2.71828), except after (186,000 miles/sec)."
  2136.             [THE DANGERS OF MIXING GRAMMAR AND SCIENCE]
  2137.  
  2138. +++++++++++++++++++++++++++
  2139.  
  2140. >From ivanski@world.std.com (Ivan M CaveroBelaunde)
  2141. Date: Wed, 15 Jun 1994 15:42:51 GMT
  2142. Organization: The World Public Access UNIX, Brookline, MA
  2143.  
  2144. Malicious_Monarch@nile.com (Malicious Monarch) writes:
  2145. ><<"Inferior" video modes are quite useful when you want to sacrifice resolution
  2146. >for speed.>>
  2147. >  That's true, but I don't know many people who would like to take a game with
  2148. >pixelated graphics over one that has very precise -shall I say 'crisp'? :) -
  2149. >graphics.  There's always more than one way to make a game...
  2150.  
  2151. I would. In a second. While it might be feasible to do a full-screen
  2152. textured map game a la DOOM/PID with good performance on a PowerMac,
  2153. it's not on a 25MHz 030 at 640x480. The higher performance machines you
  2154. require in order to deliver acceptable playability, the more you shrink
  2155. your potential market and the harder it is to justify the effort of
  2156. developing a game like that.
  2157.  
  2158. Sometimes crispness is more important than fps, and viceversa (there
  2159. are different tradeoffs with different performance levels, different
  2160. kind of games, etc). The sole *availability* of an "inferior" video mode
  2161. would allow the game designer the choice of sacrificing one for the other -
  2162. a choice we don't have right now.
  2163.  
  2164. -Ivan
  2165. - -
  2166. Ivan Cavero Belaunde (ivanski@world.std.com)
  2167. Avid VideoShop Project Lead
  2168. Avid Technology, Inc.
  2169.  
  2170. +++++++++++++++++++++++++++
  2171.  
  2172. >From Dave Falkenburg <falken@apple.com>
  2173. Date: Wed, 15 Jun 1994 16:11:31 GMT
  2174. Organization: Apple Computer, Inc.
  2175.  
  2176. In article <2tmq0b$t70@news.kth.se> Jon W!tte, d88-jwa@mumrik.nada.kth.se
  2177. writes:
  2178. >>In <2tkmlv$602@beta.qmw.ac.uk> enry@dcs.qmw.ac.uk (Henry) writes:
  2179. >>If not, you are all destined to fester in the mouldy crevis of a mac
  2180. games
  2181. >>industry that has about as much chance of producing a decent game, as a 
  2182. >>cheese sandwich has of sneaking its way past the doorman at the Hilton.
  2183.  
  2184. Hmm.  I ordered a grilled cheese sandwich from room service once.
  2185.  
  2186. ... but seriously
  2187.  
  2188. In many cases you simply cannot change the video base address because of
  2189. limitations and/or differences in the video hardware.
  2190.  
  2191. However, there is absolutely nothing wrong with slamming bits into the
  2192. frame buffer directly.
  2193.  
  2194.  
  2195. -Dave Falkenburg
  2196. -Apple Computer, Inc.
  2197.  
  2198. +++++++++++++++++++++++++++
  2199.  
  2200. >From mxmora@unix.sri.com (Matt Mora)
  2201. Date: 15 Jun 94 16:55:18 GMT
  2202. Organization: SRI International, Menlo Park, CA
  2203.  
  2204. In article <CrFutw.Bx0@mv.mv.com> mikec@mv.mv.com (Mike Callaghan) writes:
  2205.  
  2206. >What about programs like Stepping Out? It did great full-screen scrolling
  2207. >relatively quickly even on a Mac Plus. I realize that doing this in a 
  2208. >window is a completely different story, but how did Stepping Out accomplish
  2209. >it? Is it possible to set up a giant bitmap (or pixmap) and simply alter
  2210. >the address where the Mac thinks its screen is? 
  2211.  
  2212.  
  2213. Stepping out only had 22k of data to blit to worry about. Color Macs
  2214. have about 300k of data to blit. Big difference.
  2215.  
  2216.  
  2217. Xavier
  2218.  
  2219.  
  2220. -- 
  2221. ___________________________________________________________
  2222. Matthew Xavier Mora                       Matt_Mora@sri.com
  2223. SRI International                       mxmora@unix.sri.com
  2224. 333 Ravenswood Ave                    Menlo Park, CA. 94025
  2225.  
  2226. +++++++++++++++++++++++++++
  2227.  
  2228. >From mkelly@cs.uoregon.edu (Michael A. Kelly)
  2229. Date: 15 Jun 1994 10:42:31 -0700
  2230. Organization: High Risk Ventures
  2231.  
  2232. In article <2tmq0b$t70@news.kth.se>,
  2233. Jon Wdtte <d88-jwa@mumrik.nada.kth.se> wrote:
  2234. >
  2235. >>Is it possible to reliably direct the macs hardware to a different
  2236. >>screen buffer?
  2237. >
  2238. >Only if you want to special-case for dozens of video cards.
  2239.  
  2240. What?  I was under the impression that it can't be done in any case (except
  2241. for some of the classic Macs of course) because the pointer to the video
  2242. buffer is in hardware.  So you're saying it's possible to do page-flipping
  2243. on a Mac?  How do you swap the pointer?  It sounds like you're also saying
  2244. that the second page has to be in video memory, right?
  2245.  
  2246. >>If not, you are all destined to fester in the mouldy crevis of a mac games
  2247. >>industry that has about as much chance of producing a decent game, as a 
  2248. >>cheese sandwich has of sneaking its way past the doorman at the Hilton.
  2249. >
  2250. >Well, the PowerPC does some pretty decent frame rates.
  2251. >And I think Prince of Persia was a decent game, and SimCity 2000
  2252. >still is.
  2253.  
  2254. Not to mention Space Madness and Cyclone. ;-)  But it's true, if we didn't
  2255. have to go to such great lengths to produce flicker-free animation on the
  2256. Mac, we could have some pretty hot games that just aren't feasible now.
  2257. We might even be able to scroll full screen at a decent frame rate, and still
  2258. have time for all the other game computations.
  2259.  
  2260. Mike.
  2261. -- 
  2262. _____________________________________________________________________________
  2263. Michael A. Kelly                                                President/CEO
  2264. mkelly@cs.uoregon.edu                                      High Risk Ventures
  2265. _____________________________________________________________________________
  2266.  
  2267. +++++++++++++++++++++++++++
  2268.  
  2269. >From mkelly@cs.uoregon.edu (Michael A. Kelly)
  2270. Date: 15 Jun 1994 10:54:21 -0700
  2271. Organization: High Risk Ventures
  2272.  
  2273. In article <CrG3nF.EwL@world.std.com>,
  2274. Ivan M CaveroBelaunde <ivanski@world.std.com> wrote:
  2275. >><<"Inferior" video modes are quite useful when you want to sacrifice resolution
  2276. >>for speed.>>
  2277.  
  2278. >kind of games, etc). The sole *availability* of an "inferior" video mode
  2279. >would allow the game designer the choice of sacrificing one for the other -
  2280. >a choice we don't have right now.
  2281.  
  2282. But we can still pretend we do.  As was mentioned previously in this thread,
  2283. we can gain considerable speed by keeping the game at 320x240 offscreen and
  2284. blowing it up (or not) to 640x480 on screen.  I've played around with this,
  2285. and there *is* a significant speedup.  You're doing 1/4 the work offscreen,
  2286. and maybe around 3/4 the work onscreen.  With the right application (and
  2287. prehaps a combination of high- and low-resolution graphics on screen) this
  2288. technique can be acceptable to even the typical 'snotty' Mac user (of which
  2289. I am one!) who dry heaves at the thought of 320x240 games.  Deliverance is
  2290. probably a pretty good example of how and when to use this technique, and
  2291. how to present it (they give the user the option to play in a 320x240
  2292. window at high resolution or in a 640x480 window at low resolution).
  2293.  
  2294. Mike.
  2295. -- 
  2296. _____________________________________________________________________________
  2297. Michael A. Kelly                                                President/CEO
  2298. mkelly@cs.uoregon.edu                                      High Risk Ventures
  2299. _____________________________________________________________________________
  2300.  
  2301. +++++++++++++++++++++++++++
  2302.  
  2303. >From mkelly@cs.uoregon.edu (Michael A. Kelly)
  2304. Date: 15 Jun 1994 11:10:23 -0700
  2305. Organization: High Risk Ventures
  2306.  
  2307. In article <2tnei7$t1u@majestix.cs.uoregon.edu>,
  2308. Michael A. Kelly <mkelly@cs.uoregon.edu> wrote:
  2309. >In article <2tmq0b$t70@news.kth.se>,
  2310. >Jon Wdtte <d88-jwa@mumrik.nada.kth.se> wrote:
  2311. >>
  2312. >>Well, the PowerPC does some pretty decent frame rates.
  2313. >>And I think Prince of Persia was a decent game, and SimCity 2000
  2314. >>still is.
  2315. >
  2316. >Not to mention Space Madness and Cyclone. ;-)
  2317.  
  2318. BTW, Space Madness and Cyclone both run flicker-free at 60 fps on '040 Macs,
  2319. at 8-bit 640x480 resolution.  And, like most action games on the Mac, they
  2320. easily run at 30 fps on lesser machines.  Prince of Persia tended to slow
  2321. down quite noticeably on my IIcx when there was a slicer on the screen, but
  2322. I suspect it was using Quickdraw.  It should be easy to achieve at least
  2323. 30 fps on slow machines with a game like PoP, which has a textured background,
  2324. but few objects with relatively little movement, if you draw direct to screen.
  2325.  
  2326. Of course, a scrolling background is quite a different story...
  2327.  
  2328. Mike.
  2329. -- 
  2330. _____________________________________________________________________________
  2331. Michael A. Kelly                                                President/CEO
  2332. mkelly@cs.uoregon.edu                                      High Risk Ventures
  2333. _____________________________________________________________________________
  2334.  
  2335. +++++++++++++++++++++++++++
  2336.  
  2337. >From d88-jwa@dront.nada.kth.se (Jon Wdtte)
  2338. Date: 15 Jun 1994 16:49:30 GMT
  2339. Organization: The Royal Institute of Technology
  2340.  
  2341. In <CrFutw.Bx0@mv.mv.com> mikec@mv.mv.com (Mike Callaghan) writes:
  2342.  
  2343. >What about programs like Stepping Out? It did great full-screen scrolling
  2344. >relatively quickly even on a Mac Plus. I realize that doing this in a 
  2345.  
  2346. Ah, but that was in black-and-white. Everyone can scroll a screen
  2347. in black-and-white.
  2348.  
  2349. >window is a completely different story, but how did Stepping Out accomplish
  2350.  
  2351. No, it's no harder scrolling in a window that scrolling a screen.
  2352.  
  2353. >it? Is it possible to set up a giant bitmap (or pixmap) and simply alter
  2354. >the address where the Mac thinks its screen is? 
  2355.  
  2356. For the MacPlus, you can do something close to that, but with limitations.
  2357. For some video cards, in some modes, you can do it as well. However, it's
  2358. not something that all video cards/drivers support, and most cards don't
  2359. have enought memory for it.
  2360. -- 
  2361.  -- Jon W{tte, h+@nada.kth.se, Mac Software Engineer Deluxe --
  2362.  
  2363.  "My boss made me say it. He dares you to sue!"
  2364.  
  2365. +++++++++++++++++++++++++++
  2366.  
  2367. >From sly@fly2.berkeley.edu (Cyrus Harmon)
  2368. Date: Wed, 15 Jun 1994 11:51:11 -0700
  2369. Organization: UC Berkeley
  2370.  
  2371. In article <2tmq37$t75@news.kth.se>, d88-jwa@mumrik.nada.kth.se (Jon Wtte)
  2372. wrote:
  2373.  
  2374. > Most screen cards stop at 640x480; the 512x384 mode is only for the
  2375. > Mac LC 12" color monitor and the Color Classic 10" built-in color,
  2376. > none of which sold well.
  2377. > A Mac has square pixels at 72 dpi, and that's it!
  2378.  
  2379. Except with the multiple scan monitors that let you select video
  2380. modes. I guess for the first time Apple is now offering "inferior"
  2381. video modes :->.  
  2382.  
  2383. Cyrus Harmon
  2384. sly@fly2.berkeley.edu
  2385.  
  2386. +++++++++++++++++++++++++++
  2387.  
  2388. >From larsg@edb.tih.no (Lars Garden)
  2389. Date: 16 Jun 1994 13:33:13 GMT
  2390. Organization: Trondheim College of Engineering
  2391.  
  2392. Malicious Monarch (Malicious_Monarch@nile.com) wrote:
  2393. : <<"Inferior" video modes are quite useful when you want to sacrifice resolution
  2394. : for speed.>>
  2395. :   That's true, but I don't know many people who would like to take a game with
  2396. : pixelated graphics over one that has very precise -shall I say 'crisp'? :) -
  2397. : graphics.  There's always more than one way to make a game...
  2398.  
  2399. I know a lot of people that would prefer a 320*200 20fps DOOM over a
  2400. 640x480 4fps DOOM. 
  2401.  
  2402. --
  2403.  
  2404.      // Lars Gaarden. Student at Trondheim College of Engineering.
  2405.  \\ //  email: larsg@edb.tih.no  IRC: Lynet
  2406.   \X/   "But I will rise and I will return like a phoenix from the flame."
  2407.          - Siniad O'Conner
  2408.  
  2409.  
  2410. +++++++++++++++++++++++++++
  2411.  
  2412. >From 103t_english@west.cscwc.pima.edu
  2413. Date: 14 Jun 94 14:22:46 MST
  2414. Organization: (none)
  2415.  
  2416. In article <2tkmlv$602@beta.qmw.ac.uk>, enry@dcs.qmw.ac.uk (Henry) writes:
  2417. > Shuffling bytes about in memory just puts a huge burden on the processor
  2418. > when it should be calculating something far less menial.
  2419. > Why can I not change the video hardware's screen base pointer, and fill in the
  2420. > newly exposed part of the screen. This eliminates as much bit copying as we
  2421. > like (give enough vram set asside)...
  2422. > It also has the added advantage of having an offscreen pixmap, and being
  2423. > able to display it instantly without blasting bytes through the proccessor,
  2424. > allowing sencible (fast) screen buffering.
  2425. > Is it possible to reliably direct the macs hardware to a different
  2426. > screen buffer?
  2427. > (You can do it on a Mac512k :-)
  2428. > If not, can I do it unreliably?
  2429. > If not, you are all destined to fester in the mouldy crevis of a mac games
  2430. > industry that has about as much chance of producing a decent game, as a 
  2431. > cheese sandwich has of sneaking its way past the doorman at the Hilton.
  2432.  
  2433. And of course, Apple didn't provide any standard, or at least, *documented*,
  2434.  way to do it on the PowerMacs because we all know how worried they are about 
  2435. the games industry...
  2436.  
  2437. And telling me to go look in the book on creating hardware add-on cards for
  2438. information about the potential for page-flipping in a Mac video card is
  2439. hardly contributing to the upliftment of Apple games-writing, although it could
  2440. be seen as a way of telling potential games-writers on the Mac to bugger-off 
  2441. -we don't want you here...
  2442.  
  2443.  
  2444. Lawson
  2445.  
  2446. +++++++++++++++++++++++++++
  2447.  
  2448. >From amanda@intercon.com (Amanda Walker)
  2449. Date: Thu, 16 Jun 1994 19:42:43 -0500
  2450. Organization: InterCon Systems Corporation, Herndon, VA  USA
  2451.  
  2452. larsg@edb.tih.no (Lars Garden) writes:
  2453. > I know a lot of people that would prefer a 320*200 20fps DOOM over 
  2454. > a 640x480 4fps DOOM. 
  2455.  
  2456. Would anyone like a 640x480 15-20fps DOOM in greyscale ... but anti-aliased?
  2457.  
  2458. This is actually a serious question.
  2459.  
  2460.  
  2461. Amanda Walker
  2462. InterCon Systems Corporation
  2463.  
  2464.  
  2465.  
  2466. +++++++++++++++++++++++++++
  2467.  
  2468. >From shirleyd@cognos.COM (Dieter Shirley)
  2469. Date: Thu, 16 Jun 1994 19:49:57 GMT
  2470. Organization: Cognos Incorporated, Ottawa CANADA
  2471.  
  2472. Michael A. Kelly (mkelly@cs.uoregon.edu) wrote:
  2473. : In article <2tmq0b$t70@news.kth.se>,
  2474. : Jon Wdtte <d88-jwa@mumrik.nada.kth.se> wrote:
  2475. : >
  2476. : >>Is it possible to reliably direct the macs hardware to a different
  2477. : >>screen buffer?
  2478. : >
  2479. : >Only if you want to special-case for dozens of video cards.
  2480.  
  2481. : What?  I was under the impression that it can't be done in any case (except
  2482. : for some of the classic Macs of course) because the pointer to the video
  2483. : buffer is in hardware.  So you're saying it's possible to do page-flipping
  2484. : on a Mac?  How do you swap the pointer?  It sounds like you're also saying
  2485. : that the second page has to be in video memory, right?
  2486.  
  2487. Yeah, there is a call, documented in the legendary IM: Cards and Drivers
  2488. that video card developers can support which allows page flipping.  Of
  2489. course, all of the card developers do it a little bit differently.  (Not
  2490. the page flipping, but drawing to the different pages.) Add to this that
  2491. most (if not all) internal video Macs don't support this and not all
  2492. video cards do, and you've got to write normal code for those cases anyways.
  2493.  
  2494. But, it can and has been done.  Try playing OIDS on a slower machine, like
  2495. a IIci or IIcx with a Toby 8-bit card, then install MaxAppleZoom, which
  2496. uses the extra VRAM for it's own purposes and see what OIDS looks like
  2497. *without* the page flipping.  Very hideous.
  2498.  
  2499. Later,
  2500. -dete
  2501.  
  2502. +++++++++++++++++++++++++++
  2503.  
  2504. >From y-tony@bu.edu (Yan Lee)
  2505. Date: 17 Jun 1994 02:11:39 GMT
  2506. Organization: Boston University
  2507.  
  2508. Amanda Walker (amanda@intercon.com) wrote:
  2509. : larsg@edb.tih.no (Lars Garden) writes:
  2510. : > I know a lot of people that would prefer a 320*200 20fps DOOM over 
  2511. : > a 640x480 4fps DOOM. 
  2512.  
  2513. : Would anyone like a 640x480 15-20fps DOOM in greyscale ... but anti-aliased?
  2514.  
  2515. : This is actually a serious question.
  2516.  
  2517. Would grayscale actually make a difference in speed?  It is still 
  2518. following 8-bits of color/shades.  
  2519.  
  2520. : Amanda Walker
  2521. : InterCon Systems Corporation
  2522.  
  2523.  
  2524. P.S.  Thanks for the enormous responses about scrolling.  I never expected 
  2525. so much input!
  2526.  
  2527. Tony
  2528.  
  2529.  
  2530. +++++++++++++++++++++++++++
  2531.  
  2532. >From chris-b@cs.auckland.ac.nz (Chris Burns)
  2533. Date: Fri, 17 Jun 1994 18:22:36 +1200
  2534. Organization: HyperMedia Unit, Auckland University
  2535.  
  2536. In article <2tnbpm$f24@unix.sri.com>, mxmora@unix.sri.com (Matt Mora)
  2537. wrote:
  2538.  
  2539. > In article <CrFutw.Bx0@mv.mv.com> mikec@mv.mv.com (Mike Callaghan) writes:
  2540. > >What about programs like Stepping Out? It did great full-screen scrolling
  2541. > >relatively quickly even on a Mac Plus. I realize that doing this in a 
  2542. > >window is a completely different story, but how did Stepping Out accomplish
  2543. > >it? Is it possible to set up a giant bitmap (or pixmap) and simply alter
  2544. > >the address where the Mac thinks its screen is? 
  2545. > Stepping out only had 22k of data to blit to worry about. Color Macs
  2546. > have about 300k of data to blit. Big difference.
  2547.  
  2548. Is it possible to use the MMU to scroll without blitting? This may only
  2549. work with RBV (and even then I think I remember something about the 
  2550. hardware getting frame buffer data from physical address $00000000).
  2551.  
  2552. Chris B
  2553. - ---------------------------------------------------------------------
  2554. NewZealand:AucklandUniversity:ComputerScience:HyperMediaUnit:ChrisBurns
  2555. Internet: chris-b@cs.auckland.ac.nz
  2556. Phone:    +64 9 373-7599 x6194
  2557. Fax:      +64 9 373-7453
  2558. - ---------------------------------------------------------------------
  2559.  
  2560. +++++++++++++++++++++++++++
  2561.  
  2562. >From byrne1@husc8.harvard.edu (Laurence Byrne)
  2563. Date: 17 Jun 94 14:17:16 GMT
  2564. Organization: Harvard University, Cambridge, Massachusetts
  2565.  
  2566. y-tony@bu.edu (Yan Lee) writes:
  2567.  
  2568. >Amanda Walker (amanda@intercon.com) wrote:
  2569. >: larsg@edb.tih.no (Lars Garden) writes:
  2570. >: > I know a lot of people that would prefer a 320*200 20fps DOOM over 
  2571. >: > a 640x480 4fps DOOM. 
  2572. >: Would anyone like a 640x480 15-20fps DOOM in greyscale ... but anti-aliased?
  2573. >: This is actually a serious question.
  2574.  
  2575. >Would grayscale actually make a difference in speed?  It is still 
  2576. >following 8-bits of color/shades.  
  2577.  
  2578. I would imagine that the purpose of going to grayscale is not to directly
  2579. speed up the graphics - as you point out, it's still 8 bits - but instead
  2580. to make the anti-aliasing more effective/less noticeable. (The human eye
  2581. having a limit to its ability to resolve shades of gray.) Personally, to
  2582. get back to the original question, I think I'd find that a gray Doom
  2583. lost about 30% of its entertainment value - it'd probably be almost as
  2584. much fun to play, but there's still a world of difference between colour and
  2585. b/w....
  2586.  
  2587. -- 
  2588. - -----------------------------------------------------------------------------
  2589. Laurence Byrne             un chien andalusia        byrne1@husc.harvard.edu
  2590. Hist/CS                       *finger @byrne1.student.harvard.edu for PGP pubkey*
  2591.  
  2592. A zygote is a gamete's way of producing more gametes.
  2593. This may be the purpose of the universe.        - Lazarus Long
  2594.  
  2595. +++++++++++++++++++++++++++
  2596.  
  2597. >From d88-jwa@mumrik.nada.kth.se (Jon Wdtte)
  2598. Date: 17 Jun 1994 20:30:07 GMT
  2599. Organization: The Royal Institute of Technology
  2600.  
  2601. In <2tnei7$t1u@majestix.cs.uoregon.edu> mkelly@cs.uoregon.edu (Michael A. Kelly) writes:
  2602.  
  2603. >buffer is in hardware.  So you're saying it's possible to do page-flipping
  2604. >on a Mac?  How do you swap the pointer?  It sounds like you're also saying
  2605. >that the second page has to be in video memory, right?
  2606.  
  2607. Yes. There are DOCUMENTED video driver calls to do that, but not all
  2608. video cards support them, and almost no video cards have enough memory
  2609. to make the feature useful.
  2610.  
  2611. >We might even be able to scroll full screen at a decent frame rate, and still
  2612. >have time for all the other game computations.
  2613.  
  2614. When scrolling is a big matter, those "other game computations" usually
  2615. shring to insignificance (on the order of one line of scrolling pixels...)
  2616.  
  2617. Anyway, locking yourself to a specific blitter is OK for machines with
  2618. a short usable life span, but for anything that's supposed to improve
  2619. and stay compatible, it's not really a good idea.
  2620.  
  2621. However, Apple COULD HAVE put a blitter in the lower-power models and
  2622. had it accellerate CopyBits. I guess another $50-100 in the retail channel
  2623. wasn't deemed worth it.
  2624.  
  2625. Cheers,
  2626.  
  2627.                     / h+
  2628. -- 
  2629.  -- Jon W{tte, h+@nada.kth.se, Mac Software Engineer Deluxe --
  2630.  
  2631.  "My boss made me say it. He dares you to sue!"
  2632.  
  2633. +++++++++++++++++++++++++++
  2634.  
  2635. >From d88-jwa@mumrik.nada.kth.se (Jon Wdtte)
  2636. Date: 17 Jun 1994 20:34:55 GMT
  2637. Organization: The Royal Institute of Technology
  2638.  
  2639. In <byrne1.771862636@husc8.harvard.edu> byrne1@husc8.harvard.edu (Laurence Byrne) writes:
  2640.  
  2641. >I would imagine that the purpose of going to grayscale is not to directly
  2642. >speed up the graphics - as you point out, it's still 8 bits - but instead
  2643. >to make the anti-aliasing more effective/less noticeable. (The human eye
  2644. >having a limit to its ability to resolve shades of gray.) Personally, to
  2645.  
  2646. Actually, I think black/white means 4-bit mode, in which you can do
  2647. page flippin on many vide cards, and palette flipping on the others.
  2648. -- 
  2649.  -- Jon W{tte, h+@nada.kth.se, Mac Software Engineer Deluxe --
  2650.  
  2651.  "My boss made me say it. He dares you to sue!"
  2652.  
  2653. +++++++++++++++++++++++++++
  2654.  
  2655. >From lewistot@netcom.com (John Lewis)
  2656. Date: Sat, 18 Jun 1994 07:04:43 GMT
  2657. Organization: NETCOM On-line Communication Services (408 261-4700 guest)
  2658.  
  2659. 103t_english@west.cscwc.pima.edu wrote:
  2660. : And of course, Apple didn't provide any standard, or at least, *documented*,
  2661. : way to do it on the PowerMacs because we all know how worried they are about 
  2662. : the games industry...
  2663.  
  2664. Actually, Apple is very concerned about the game industry. At Maxis (the
  2665. SimCity people), we receive pre-release documentation and beta software almost
  2666. weekly. Our experience is not unique either. At a recent PowerMac hands-on
  2667. development seminar I went to, one third of the companies invited were game
  2668. companies.
  2669.  
  2670. Using some "dirty rectangle" techniques, I can acheive some fairly decent fps
  2671. rates on slower Macs and some damn spectacular fps rates on PowerMacs.
  2672.  
  2673. : And telling me to go look in the book on creating hardware add-on cards for
  2674. : information about the potential for page-flipping in a Mac video card is
  2675. : hardly contributing to the upliftment of Apple games-writing, although it could
  2676. : be seen as a way of telling potential games-writers on the Mac to bugger-off 
  2677. : -we don't want you here...
  2678.  
  2679. You might try going back to the books to investigate other means of doing
  2680. fast scrolling other than page flipping. With a little care, Copybits can
  2681. do some amazing things. Also, try actually finding out what people in the
  2682. game industry think of Apple BEFORE you go flaming them.
  2683. -- 
  2684. - -------------------------------------------------------------------------
  2685. John "I'ld rather be skydiving" Lewis|#include "standard .sig BS" |Witty  |
  2686. lewistotle@netcom.com <- prefered    |Blue Skies to all skydivers.|text   |
  2687. jlewis@maxis.com      <- work        |USPA 87419, C-22826         |picture|
  2688. lewistotle@aol.com    <- rarely      |<Fnord>                     |comming|
  2689.  
  2690. +++++++++++++++++++++++++++
  2691.  
  2692. >From alex@metcalf.demon.co.uk (Alex Metcalf)
  2693. Date: Sat, 18 Jun 1994 11:20:49 GMT
  2694. Organization: Best Before Yesterday
  2695.  
  2696. In article <1994Jun13.103349.1@csc.canterbury.ac.nz>,
  2697. misc173@csc.canterbury.ac.nz wrote:
  2698.  
  2699. > > I missed the original post, but if it's about full screen scrolling at
  2700. > > 30fps, that's still pretty much impossible. There are several solutions
  2701. > > people have used, such as the draw-every-other-line approach in Deliverance
  2702. > > to improve speed on slower Macs. Also, QuickTime 2 does it, though that
  2703. > > doesn't count (I think it doesn't really redraw all the screen all the
  2704. > > time).
  2705. > > 
  2706. > > Someone sent me a test result from a PowerMac: straight blitting a 640x480
  2707. > > image to the screen and doing nothing else, the frame rate was only about
  2708. > > 25fps. Games would also do lots of drawing offscreen
  2709. >     I couldn't believe this post when I read it yesterday, so I went home
  2710. > and wrote a 640x480x8bit RAM scroller, it starts at 0 and scrolls up through
  2711. > RAM, copying it to the screen, one line per frame. It got 40 fps on my 605, and
  2712. > I know that it could be optimised more, unrolling the inner loop, etc. I tried
  2713. > a variety of resolutions and interpolation techniques and gained some
  2714. > interesting insights. If you reduce the screen size the speed increases
  2715. > proportionaly, 320x240x8bit at 150fps. Using alternate lines doubles the speed
  2716. > again ( and looks fairly good against black ), pixel doubling is very slow, I
  2717. > havent tried using movep yet, but it should speed things up ( if it works ).
  2718. >     This routine uses only move.l, as I intend to program for 040's I will
  2719. > try move16, which should speed things up about 3x.
  2720. >     The final conclusion is that whoever wrote that ppc blitter ain't very
  2721. > good, I know enough assembly to this, and other simple graphics routines, but
  2722. > it still goes reasonably fast ( at least 10% faster than copybits ). Full
  2723. > screen scrolling is possible, and if someone asks for it I'll even post my
  2724. > code.
  2725.  
  2726. I've left all my news to the weekend to answer, so I've finally got round
  2727. to reading it to find I haven't been holding up my side fo the argument.
  2728. :-)
  2729.  
  2730. Full screen scrolling IS impossible for a game, because you don't take into
  2731. account the huge amount of offscreen drawing which is done before the image
  2732. is blitted to the screen. Often only 20 percent or even less of the time is
  2733. for copying to the screen, and the rest is drawing masked objects, new
  2734. areas, etc. to the offscreen worlds.
  2735.  
  2736. But you're right about direct copying: if you wanted to, you can redraw a
  2737. whole screen >30 fps. Bit of a boring game, though. :-)
  2738.  
  2739. Best wishes,
  2740.  
  2741.  
  2742.  
  2743. Alex
  2744.  
  2745. --
  2746. Alex Metcalf, Best Before Yesterday
  2747. Mac programmer in C, C++, HyperTalk, assembler
  2748. Juggler, 3-ball tricks
  2749.  
  2750. Internet:          alex@metcalf.demon.co.uk
  2751. Fax (UK):          (0570) 45636
  2752. Fax (US / Canada): 011 44 570 45636
  2753.  
  2754. +++++++++++++++++++++++++++
  2755.  
  2756. >From amanda@intercon.com (Amanda Walker)
  2757. Date: Mon, 20 Jun 1994 17:06:08 -0500
  2758. Organization: InterCon Systems Corporation, Herndon, VA  USA
  2759.  
  2760. In article <2tr0or$j5a@news.bu.edu>, y-tony@bu.edu (Yan Lee) writes:
  2761. > Would grayscale actually make a difference in speed?  It is 
  2762. > still following 8-bits of color/shades.  
  2763.  
  2764. For anti-aliased texture mapping, 8-bit gray scale takes a lot less memory 
  2765. than 24-bit color, and is somewhat faster...
  2766.  
  2767.  
  2768. Amanda Walker
  2769. InterCon Systems Corporation
  2770.  
  2771.  
  2772.  
  2773. +++++++++++++++++++++++++++
  2774.  
  2775. >From amanda@intercon.com (Amanda Walker)
  2776. Date: Mon, 20 Jun 1994 17:07:14 -0500
  2777. Organization: InterCon Systems Corporation, Herndon, VA  USA
  2778.  
  2779. d88-jwa@mumrik.nada.kth.se (Jon Wtte) writes:
  2780. > Actually, I think black/white means 4-bit mode, in which you can do 
  2781. > page flippin on many vide cards, and palette flipping on the others. 
  2782.  
  2783. Nope, I meant 8-bit gray scale.  This way I don't need 24 bit texture maps, 
  2784. and don't have to reduce it to an 8-bit palette, both of which would increase 
  2785. the possible speed.
  2786.  
  2787.  
  2788. Amanda Walker
  2789. InterCon Systems Corporation
  2790.  
  2791.  
  2792.  
  2793. +++++++++++++++++++++++++++
  2794.  
  2795. >From s3026557@titanic.mpce.mq.edu.au (Duncan Anker)
  2796. Date: 23 Jun 1994 09:33:53 GMT
  2797. Organization: Macquarie University, School of Mathematics, Physics, Computing and Electronics
  2798.  
  2799. Amanda Walker (amanda@intercon.com) wrote:
  2800. : larsg@edb.tih.no (Lars Garden) writes:
  2801. : > I know a lot of people that would prefer a 320*200 20fps DOOM over 
  2802. : > a 640x480 4fps DOOM. 
  2803.  
  2804. : Would anyone like a 640x480 15-20fps DOOM in greyscale ... but anti-aliased?
  2805.  
  2806. : This is actually a serious question.
  2807.  
  2808. Given that the Mac I normally use (apart from those cute powerbooks :-)
  2809. has a greyscale moniter, I hardly think I'd miss the colour.
  2810.  
  2811. So a serious answer to a serious question. Yes, I would like a 640x480 
  2812. 15-20fps DOOM in greyscale. Are you writing one, Amanda?
  2813.  
  2814. --
  2815. s3026557@titanic.mpce.mq.edu.au * Duncan Anker * duncan@newling2-00.une.edu.au
  2816.  
  2817. O.K. Scotty, real funny. Now beam down my clothes!
  2818.  
  2819. ---------------------------
  2820.  
  2821. >From gneufeld@superior.carleton.ca (Grant Neufeld)
  2822. Subject: MacPerl- Redirecting STDIN & STDOUT
  2823. Date: Sat, 25 Jun 1994 17:22:23 GMT
  2824. Organization: Carleton University
  2825.  
  2826. I haven't managed to figure out how to redirect STDIN and STDOUT in
  2827. MacPerl. I have a script that runs as follows in UNIX:
  2828.  
  2829.   myscript <mysourcefile >myoutputfile
  2830.  
  2831. I want to be able to specify at least mysourcefile (I can save the
  2832. contents of the MacPerl console for the output) without having to do
  2833. anything drastic to my source code.
  2834.  
  2835. Any direction (including where to look in the docs/help so I can RTFM)
  2836. would be much appreciated.
  2837.  
  2838. --
  2839. Grant Neufeld - gneufeld@ccs.carleton.ca - Ottawa, Ontario, Canada
  2840. <A HREF="http://arpp1.carleton.ca/Grant/Grant.html">Grant Neufeld</A>
  2841. Apple Research Partnership Program, +1 (613) 788-2600 extenstion 3537
  2842. My views are too extreme to be anyone else's
  2843.  
  2844. +++++++++++++++++++++++++++
  2845.  
  2846. >From grbr@arapaho.ucsc.edu (Terry Gritton)
  2847. Date: Sat, 25 Jun 94 17:48:47 GMT
  2848. Organization: University of California, Santa Cruz
  2849.  
  2850. In Article <CryqxB.GDs@cunews.carleton.ca>, gneufeld@superior.carleton.ca
  2851. (Grant Neufeld) wrote:
  2852. >I haven't managed to figure out how to redirect STDIN and STDOUT in
  2853. >MacPerl. I have a script that runs as follows in UNIX:
  2854. >
  2855. >  myscript <mysourcefile >myoutputfile
  2856. >
  2857. >I want to be able to specify at least mysourcefile ...
  2858.  
  2859. You could just use drag and drop, drag the input file onto the icon of the
  2860. program. Then in the perl program you need to read the first argument.
  2861. Something like
  2862.  
  2863. #!/usr/bin/perl
  2864.  
  2865. # Useage(commandline): Prog file1 
  2866. # Useage(Mac GUI): drop input file on Prog icon
  2867.  
  2868.  
  2869. $file1 = @ARGV[0];
  2870.  
  2871. open(FILE, $file1) || die "Can't open $file: $!\n";
  2872. while (<FILE>) {
  2873.   foreach $i (split) {
  2874.   $file1contents{ $i } = 'file1';
  2875.   }
  2876. }
  2877. close(FILE);
  2878.  
  2879. - ---------------------------------------------------------------- 
  2880.    Terry Gritton
  2881.                           "the reason people so often lie
  2882.     Interests:             is that they lack imagination:
  2883.  glycoproteins as          they don't realize that the truth, too,
  2884.  intercellular             is a matter of invention."
  2885.  interregulatory                           Antonio Machado
  2886.  messages    
  2887.                        
  2888.  
  2889. ---------------------------
  2890.  
  2891. >From peskin@caip.rutgers.edu (Richard L. Peskin)
  2892. Subject: PowerPC floating point issue
  2893. Date: 21 Jun 94 18:20:39 GMT
  2894. Organization: Rutgers Univ.
  2895.  
  2896. Can anyone give me a "simple" explanation for the very poor floating
  2897. point performance of the PowerPC's (native code) when transcendental
  2898. funtions are involved? Is this just a poor library implementation
  2899. problem? Is Apple planning to address this issue anytime soon?
  2900. --dick peskin
  2901. =================================
  2902. R. L. Peskin,  Rutgers Univ. ; <peskin@caip.rutgers.edu>;  908/932-3685
  2903. "Good work is always done in defiance of management."  R. Woodward
  2904.  
  2905. +++++++++++++++++++++++++++
  2906.  
  2907. >From weare@galaxy.ucr.edu (christopher weare)
  2908. Date: 21 Jun 1994 15:04:58 -0700
  2909. Organization: University of California, Riverside
  2910.  
  2911. In article <Jun.21.14.20.38.1994.24577@cesl.rutgers.edu>,
  2912. Richard L. Peskin <peskin@caip.rutgers.edu> wrote:
  2913. >Can anyone give me a "simple" explanation for the very poor floating
  2914. >point performance of the PowerPC's (native code) when transcendental
  2915. >funtions are involved? Is this just a poor library implementation
  2916. >problem? Is Apple planning to address this issue anytime soon?
  2917. >--dick peskin
  2918. >=================================
  2919. >R. L. Peskin,  Rutgers Univ. ; <peskin@caip.rutgers.edu>;  908/932-3685
  2920. >"Good work is always done in defiance of management."  R. Woodward
  2921.  
  2922. The simple reason is that MathLib (the library supplied by apple) is very
  2923. slow.  IBM's equivalent lib is about 10 times faster.  Apple says they 
  2924. "are aware of the problem" and are working on a fix.  If anyone knows when
  2925. that might be I'd love to hear.  Personaly, I think apple should have tried
  2926. to license the IBM lib, but ofcourse, I have no idea what was involoved in the
  2927. creation of MathLib.  I serriously doubt that apple will do as good a job on
  2928. their lib as IBM did, but I hope I am wrong.  Ofcourse i mean FAST when i say 
  2929. good.
  2930.  
  2931. Chris
  2932. weare@galaxy.ucr.edu
  2933.  
  2934.  
  2935.  
  2936. +++++++++++++++++++++++++++
  2937.  
  2938. >From Todd M. Morin <toddm@truevision.com>
  2939. Date: 24 Jun 1994 15:38:55 GMT
  2940. Organization: Truevision Inc., Indianapolis, IN
  2941.  
  2942. I saw the below announcement on Compuserve a couple days ago, and it's
  2943. relevant to this issue.  I haven't contacted him yet, so I don't know what
  2944. his license fees are.
  2945.  
  2946. --ToddM.
  2947.  
  2948. - ------------------------------------------------------------------------
  2949. - ---------------------
  2950. Announcement to anyone using the Math Library provided for Power PC
  2951. Macintoshes!
  2952.  
  2953. After recompiling a piece of scientific code for the PowerPC which spends
  2954. most of its time computing transcendental functions and sqrts and achieving
  2955. very poor performance, I investigated the Apple Math Library for the Power
  2956. PC's.  I found it to be extremely slow, and am not sure why.  However, I
  2957. have since produced a library of my own for computing functions about 4-5
  2958. times faster than the Apple library.
  2959.  
  2960. This library currently implements sin(), cos(), exp(), pow(), sqrt(), log(),
  2961. tan(), atan(), sinh(), cosh(), log1p(), and expm1(), along with low level
  2962. functions ldexp() and frexp().  It does not (presently) do any IEEE-754/NCEG
  2963. (etc) exception handling, but in all cases correctly handles and returns
  2964. NaN's, Inf's and denorms as appropriate.  The accuracy of the functions is
  2965. typically about 1-2 LSB (i.e. about 1-2e-16) for most input values.
  2966.  
  2967. This library is available as an xcoff file (compatible with MPW linking and,
  2968. hence, Symantec C++ and MPW).  It consists of routines of my own design, and
  2969. is therefore assured to not be pirated or to infringe on any copyrights. 
  2970. The routines were compiled on and IBM RS/6000 601-based workstation, using
  2971. the highly optimizing level of the xlc compiler.  They contain no POWER
  2972. instructions, so they should be compatible with 601, 603, 604 & 620 (etc.)
  2973. machines as they become available.
  2974.  
  2975. If you are interested, please contact me about licensing, either for single
  2976. machine licenses, licenses to distribute in compiled code, or licenses to
  2977. distribute in object form to accompany development environments.  Also, if
  2978. you are interested in seeing other functions beyond my 'top ten' list added
  2979. to the library, I would be glad to do so.
  2980.  
  2981. Also, Xenotek has expertise in writing fast numerical algorithms and data
  2982. acquisition/control systems.  If you have need of such custom development,
  2983. please contact us.
  2984.  
  2985. Marcus Mendenhall, Ph.D.,
  2986. Xenotek, Inc.
  2987. (615)297-5756
  2988. or via Compuserve mail (76344,251)
  2989.  
  2990. +++++++++++++++++++++++++++
  2991.  
  2992. >From weare@galaxy.ucr.edu (christopher weare)
  2993. Date: 24 Jun 1994 12:21:18 -0700
  2994. Organization: University of California, Riverside
  2995.  
  2996. [bunch o stuff deleted describing a faster lib replacement for MathLib]
  2997.  
  2998. Some questions for the developer:
  2999.  
  3000. 1) How does your library compare to IBM's math library?  Post on this channel
  3001. sugest that the IBM lib is about 10 times faster than apple's when running the 
  3002. savage (is that the name?) benchmark.  Could you compare your lib to IBM's usingthat benchmark please.
  3003.  
  3004. 2) Are you aware that apple is promising to upgrade thier library "soon".
  3005.  
  3006. 3) Could you write a lib using floats instead of doubles so we have a choice
  3007. of fast vs accurate?  
  3008.  
  3009. Thanks
  3010.  
  3011. Chris
  3012. weare@galaxy.ucr.edu
  3013.  
  3014.  
  3015. +++++++++++++++++++++++++++
  3016.  
  3017. >From AppleGG@lamg.com (Gordon Apple)
  3018. Date: 25 Jun 1994 12:06:20 -0000
  3019. Organization: Los Angeles Macintosh Group BBS
  3020.  
  3021. >3) Could you write a lib using floats instead of doubles so we have a choice
  3022. >of fast vs accurate?  
  3023.  
  3024.  
  3025.     I doubt that floats are any faster than doubles on the PPC although they
  3026. would certainly be faster on a non-FPU 68K.
  3027.  
  3028.     However, please, please, please give us the fastest trancedentals
  3029. possible, even at an (optional) sacrafice of accuracy.  There are many signal
  3030. processing applications where 8-bit accurachy is overkill and floats are way
  3031. overkill.  (You'd be amazed at things we used to do in space and military
  3032. programs with three-bit A/D converters.)
  3033.  
  3034.  
  3035.  
  3036. ---------------------------
  3037.  
  3038. >From bb@lightside.com (Bob Bradley)
  3039. Subject: Q: Thread Manager - How do I benefit?
  3040. Date: Wed, 22 Jun 1994 06:10:21 -0800
  3041. Organization: Lightside, Inc.
  3042.  
  3043. In Develop 17, in the article about concurrent processing with the Thread
  3044. Manager, it says I'll be able to do other processing while a modal dialog
  3045. is up. In my app, I have 2 event queues, the normal WNE event queue and a
  3046. custom event queue that I've created. I've set these up as
  3047. YieldToUserProcess() and
  3048. YieldToCustomProcess() which simple pull the event out of the queue (if one
  3049. exists) and process the event. During my ModalDialog() loop, I call my
  3050. YieldToCustomProcess() routine each time thru. 
  3051.  
  3052. How would I benefit from using the Thread Manager (PowerPC)? From what I've
  3053. gathered it appears to do just what I've done but, in a more generalized
  3054. manner (ie not stuck with just my limited event queue). How does calling
  3055. YieldToAnyThread() differ in functionality?
  3056.  
  3057. +++++++++++++++++++++++++++
  3058.  
  3059. >From Ken Prehoda <kenp@nmrfam.wisc.edu>
  3060. Date: 23 Jun 1994 15:13:50 GMT
  3061. Organization: Univ of Wisc-Madison
  3062.  
  3063. In article <bb-220694061021@user48.lightside.com>
  3064. Bob Bradley, bb@lightside.com writes:
  3065. >How would I benefit from using the Thread Manager (PowerPC)? From what
  3066. I've
  3067. >gathered it appears to do just what I've done but, in a more generalized
  3068. >manner (ie not stuck with just my limited event queue). How does calling
  3069. >YieldToAnyThread() differ in functionality?
  3070.  
  3071. The case that you give is a small benefit of the thread manager.  As you
  3072. have shown, it is possible to get similar results for modal dialogs
  3073. without using the thread manager (although it's simpler with the
  3074. thread manager).
  3075.  
  3076. However, the thread manager lets you process a couple thousand
  3077. fourier transforms (or any other time consuming process in your app)
  3078. while still having the interface very responsive.  Unfortunately,
  3079. the powerpc version doesn't have preemptive threads and that makes
  3080. it a little less attractive.
  3081.  
  3082. Oh, if you're asking how YieldToAnyThread() is different, it is
  3083. different in the sense that control is passed on to multiple threads
  3084. in a round-robin fashion (cooperatively speaking) whereas your
  3085. control functions just switch between two event queues.  Preemptive
  3086. threads snatch time from each cooperative thread in a round-robin
  3087. fashion.
  3088.  
  3089. -Ken Prehoda
  3090. kenp@nmrfam.wisc.edu
  3091.  
  3092. +++++++++++++++++++++++++++
  3093.  
  3094. >From Jens Alfke <jens_alfke@powertalk.apple.com>
  3095. Date: Thu, 23 Jun 1994 17:36:54 GMT
  3096. Organization: Apple Computer
  3097.  
  3098. Bob Bradley, bb@lightside.com writes:
  3099. > How would I benefit from using the Thread Manager (PowerPC)? From what I've
  3100. > gathered it appears to do just what I've done but, in a more generalized
  3101. > manner (ie not stuck with just my limited event queue). How does calling
  3102. > YieldToAnyThread() differ in functionality?
  3103.  
  3104. The Thread Manager is a much smoother implementation of what you've done.
  3105. Your stuff relies on external objects you call 'events'. You have to
  3106. interrupt your processing to handle an event, and can't continue with what
  3107. you were doing until that event finishes. Threads, on the other hand, have
  3108. different stacks and can switch in and out. When a thread calls Yield, other
  3109. threads get a chance to run, but the thread that called Yield also keeps
  3110. running as soon as its time comes around when another thread yields.
  3111.  
  3112. Think of how your stuff would (not) work if one of your custom events
  3113. involved downloading a 10 megabyte file. What if you got two of these events?
  3114. One would have to wait until the first one finished. Your stuff can handle
  3115. events sequentially but can't interleave them, whereas threads can.
  3116.  
  3117. --Jens Alfke
  3118.   jens_alfke@powertalk              Rebel girl, rebel girl,
  3119.             .apple.com              Rebel girl you are the queen of my world
  3120.  
  3121. +++++++++++++++++++++++++++
  3122.  
  3123. >From bb@lightside.com (Bob Bradley)
  3124. Date: Thu, 23 Jun 1994 10:11:21 -0800
  3125. Organization: Lightside, Inc.
  3126.  
  3127. In article <1994Jun23.173654.22435@gallant.apple.com>, Jens Alfke
  3128. <jens_alfke@powertalk.apple.com> wrote:
  3129.  
  3130. > Think of how your stuff would (not) work if one of your custom events
  3131. > involved downloading a 10 megabyte file. What if you got two of these events?
  3132. > One would have to wait until the first one finished. Your stuff can handle
  3133. > events sequentially but can't interleave them, whereas threads can.
  3134.  
  3135. When using only cooperative threads, could I use a single thread to
  3136. download a 10 meg file and would calling YieldToAnyThread() stop that large
  3137. thread to process other threads or would I have to add a lot of
  3138. YieldToAnyThread() calls within that large thread? I'm a little confused
  3139. about how other threads would get time while one thread is executing. I
  3140. thought cooperative threads would still have to execute one after the
  3141. other. Am I totally lost?
  3142.  
  3143. +++++++++++++++++++++++++++
  3144.  
  3145. >From d88-jwa@dront.nada.kth.se (Jon Wdtte)
  3146. Date: 24 Jun 1994 08:36:40 GMT
  3147. Organization: The Royal Institute of Technology
  3148.  
  3149. In <bb-230694101122@user37.lightside.com> bb@lightside.com (Bob Bradley) writes:
  3150.  
  3151. >about how other threads would get time while one thread is executing. I
  3152. >thought cooperative threads would still have to execute one after the
  3153. >other. Am I totally lost?
  3154.  
  3155. Sort of. Calling YieldToAnyThread() basically says "I can take a pause
  3156. now, let another thread continue from where it was created/yielded last."
  3157. Then, when that thread calls YieldToAnyThread(), you'll eventually get
  3158. back to the first thread, which will continue from the Yield call.
  3159.  
  3160. When you do downloads, the serial port is usually so slow that it's
  3161. DEFINATELY worthwile to do async reads and yield. With the async SCSI
  3162. manager, you can do that on file I/O as well.
  3163. -- 
  3164.  -- Jon W{tte, h+@nada.kth.se, Mac Software Engineer Deluxe --
  3165.  
  3166.    What we need is a good GNU [...] licence manager implementation.
  3167.                      -- Raphael Manfredi
  3168.  
  3169. ---------------------------
  3170.  
  3171. >From soetji+@G.GP.CS.CMU.EDU (Soetjianto)
  3172. Subject: prevent update when call TEDelete, TEInsert??
  3173. Date: Thu, 23 Jun 1994 22:01:31 GMT
  3174. Organization: School of Computer Science, Carnegie Mellon
  3175.  
  3176. I am doing all sorts of manipulation on a TE, 
  3177. using TEScroll, TEDelete, TEInsert.  I want
  3178. the user only see the final state of the TE after
  3179. all manipulations have been done.  Is there a way to
  3180. do this?  I have tried ValidRect(), but it doesn't work.
  3181. Any idea how to do it?
  3182.  
  3183. thanks!
  3184. soetji@g.gp.cs.cmu.edu
  3185.  
  3186. +++++++++++++++++++++++++++
  3187.  
  3188. >From Jens Alfke <jens_alfke@powertalk.apple.com>
  3189. Date: Fri, 24 Jun 1994 17:02:08 GMT
  3190. Organization: Apple Computer
  3191.  
  3192. Soetjianto, soetji+@G.GP.CS.CMU.EDU writes:
  3193. > I am doing all sorts of manipulation on a TE, 
  3194. > using TEScroll, TEDelete, TEInsert.  I want
  3195. > the user only see the final state of the TE after
  3196. > all manipulations have been done.  Is there a way to
  3197. > do this?
  3198.  
  3199. You could either set the TE record's viewRect to an empty Rect, or set the
  3200. port's clipping region to an empty region (call ClipRect with an empty rect.)
  3201. Of course, you have to set them back to normal afterwards.
  3202.  
  3203. You may find this rather slow if you are doing a lot of work. If you're using
  3204. monostyled Text (i.e. you called TENew rather than TEStylNew) you can speed
  3205. things up by directly munging the text in the hText handle, then calling
  3206. TECalText at the end. The Munger trap is the best way to do this kind of
  3207. insertion/substitution/deletion on a handle, although its interface is
  3208. somewhat hard to figure out at first.
  3209.  
  3210. --Jens Alfke
  3211.   jens_alfke@powertalk              Rebel girl, rebel girl,
  3212.             .apple.com              Rebel girl you are the queen of my world
  3213.  
  3214. ---------------------------
  3215.  
  3216. End of C.S.M.P. Digest
  3217. **********************
  3218.  
  3219.  
  3220. ˇ